8
votes

Vérification de Django Cache_Page

Comment puis-je confirmer que mes vues Django sont en cours de cache quand j'utilise le décorateur de cache_page comme:

@cache_page(60)
def my_view(request):


0 commentaires

3 Réponses :


1
votes

Selon le middleware de cache que vous utilisez, vous pouvez inspecter la méthode process_request de cette classe et trouver une ligne comme celle-ci (prise à partir de django / middleware / cache.py ) xxx

et enregistrer les messages de là. J'admets, ce n'est pas un propre moyen de le faire.


0 commentaires

5
votes

vous pourrait saisir une copie de la barre Django-débog-Tool ( http://github.com/robhudson/django-debug-toolbar ) et regardez les requêtes: si la page n'est pas tirée du cache, Django-débog-Toolbar doit afficher toutes les requêtes requises pour assembler votre page. Si la page est tirée du cache, vous ne verrez pas les requêtes.

Vous pouvez également ajouter une journalisation à l'emballage de cache particulier que vous utilisez, puis référencez la sortie dans Django-débog-Toolbarbar 'S "journalisation". Heres un exemple de ce que cela ressemblerait à: http://gist.github.com/242011

Je recommanderais également de saisir une copie de django-memcache-statut ( http://github.com/barttc/django-memcache-status ) et memcache-top ( http://code.google.com/p/memcache-top/ ), si vous souhaitez surveiller l'utilisation de MemCache en détail.


2 commentaires

Aha! Ceci est exactement ce que je cherchais. Merci.


Le gist est en panne, c'est pourquoi vous devriez coller du code ici.



1
votes

Vous pouvez confirmer que votre page est mise en cache en regardant les en-têtes de la réponse HTTP.

$ curl -v http://localhost:8000/cached_view/ >/dev/null
[...]
< Cache-Control: max-age=900
< Expires: Tue, 02 Jul 2019 18:36:34 GMT
[...]


0 commentaires