poso fazer o cache de qualquer dado que venha de um banco de dados?
poso fazer o cache de qualquer dado que venha de um banco de dados?
Olá Endrew, tudo bem com você?
Peço desculpas pela demora no retorno.
O cache irá armazenar qualquer resposta do tipo GET com o status 200, ou seja, uma requisição que foi realizada com sucesso. Você pode adicionar o uso de cache em diversas partes de uma aplicação, tudo irá depender do cenário de uso da API.
Na aula o cache foi adicionado à exibição das matrículas, mas caso seja necessário que os dados dos alunos sejam atualizados em um intervalo de tempo, basta fazermos o uso do cache, como apresentado abaixo. O código do cache foi adicionado no arquivo escola/views.py.
class AlunosViewSet(viewsets.ModelViewSet):
"""Exibindo todos os alunos e alunas"""
queryset = Aluno.objects.all()
def get_serializer_class(self):
if self.request.version == 'v2':
return AlunoSerializerV2
else:
return AlunoSerializer
# Cache de 60 segundos
@method_decorator(cache_page(60))
def dispatch(self, *args, **kwargs):
return super(AlunosViewSet, self).dispatch(*args, **kwargs)
Como apresentado no código acima, a adição do cache poderá ser realizada em outros dados que são enviados por um servidor, basta que seja feita a implementação do uso com base nas suas necessidades ou no objetivo do projeto.
Para aprimorar ainda mais o seu aprendizado, deixo abaixo uma recomendação de leitura do seguinte artigo onde será abordado a importância e os tipos de cache.
O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.