Я сделал быстрый поиск о том, как кешировать DRF-запросы.Я нашел Джанго Кашалота.Следуйте инструкциям по установке в документации .Установил и настроил редис.Сейчас редис работает.Я установил соответствующие настройки settings.py для redis-django.Добавлен кашалот в INSTALLED_APPS.Перезапущен Django.
Теперь больше нет инструкций о том, как кэшировать результаты ORM.Я предположил, что cachalot автоматически кэширует результаты ORM, но это не так, как кажется.После попытки прогреть кеш, я запускаю redis-cli и запускаю «KEYS *», я получаю пустой набор.Нет ключей.Журнал Redis не показывает ошибок.Я, вероятно, делаю что-то неправильно со стороны просмотра.Вот один из моих взглядов:
class ProjectListView(APIView):
authentication_classes = (TokenAuthentication,)
def get(self, request, format=None):
"""
Return a list of all projects.
"""
if request.user is None:
raise Http404
projects = Project.objects.filter(user=request.user)
serializer = ProjectSerializer(projects, many=True)
return JsonResponse(serializer.data, safe=False)
Что я могу сделать, чтобы получить результаты из кэша?