Я использую Memcached в качестве backend для своего приложения django. Этот код отлично работает в обычном django-запросе:
def get_myobj():
cache_key = 'mykey'
result = cache.get(cache_key, None)
if not result:
result = Product.objects.all().filter(draft=False)
cache.set(cache_key, result)
return result
Но он не работает при использовании с вызовами api django-rest-framework:
class ProductListAPIView(generics.ListAPIView):
def get_queryset(self):
product_list = Product.objects.all()
return product_list
serializer_class = ProductSerializer
Я собираюсь попробовать DRF-расширения, которые обеспечивают функциональность кеширования:
https://github.com/chibisov/drf-extensions
но статус сборки в github в настоящее время говорит "build failing".
Мое приложение очень сильно нагружено при вызовах api. Есть ли способ кэшировать эти вызовы?
Спасибо.