Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Wie implementiert man Redis Cache mit Django Rest Framework?

Ganz oben in meinem Kopf verwenden Sie den @cache_page(CACHE_TTL) am falschen Ort und auf dem falschen Weg.

Laut django docs benötigen Sie die cache_page decorator muss über der Methode der Klasse stehen, nicht über der Klasse selbst, und sie muss in method_decorator eingeschlossen werden .

ParameterViewSet überschreiben 's dispatch wie unten und es sollte funktionieren.

@method_decorator(cache_page(CACHE_TTL))
def dispatch(self, *args, **kwargs):
    return super().dispatch(*args, **kwargs)

Dokumente:

  • Die Klasse dekorieren
  • Cache mit apiview und Viewsets verwenden