2009-11-23 8 views
5

¿Cómo puedo confirmar mi punto de vista de Django se almacenan en caché cuando se utiliza el decorador cache_page así:Django cache_page comprobar

@cache_page(60) 
def my_view(request): 

Tu lugar ideal para la producción de aciertos de caché/mensajes de menos en la consola por lo que pueden confirmar mi opinión es que se almacena en caché durante 60 segundos etc.

Muchas gracias, g

Respuesta

5

que podría hacerse con una copia de django-debug-toolbar (http://github.com/robhudson/django-debug-toolbar) y ver las preguntas: si la página no se está tirando de la caché, django-debug-toolbar debe mostrar todas las consultas necesarias para montar su página. si la página se extrae de la memoria caché, no verá las consultas.

también podría agregar el registro a la envoltura de caché particular que está utilizando, y luego hacer referencia a la salida en el panel de "registro" django-debug-toolbar. Aquí está un ejemplo de lo que se vería así: http://gist.github.com/242011

También recomiendo agarrar una copia de django-memcache-status (http://github.com/bartTC/django-memcache-status) y memcache-top (http://code.google.com/p/memcache-top/), si está interesado en controlar el uso de Memcache en detalle.

+0

aha! Esto es exactamente lo que estaba buscando. Gracias. – givp

+1

Lo esencial está abajo, por eso debes pegar el código aquí. –

1

Según el middleware de caché que está utilizando, que puede inspeccionar el método de esa clase process_request y encontrar alguna línea como estos (fr tomada om django/middleware/cache.py)

131 response = cache.get(cache_key, None) 
132 if response is None: 
133  ... 

...  logging.debug("Cache miss") 
... 
... else: 
...  logging.debug("Cache hit") 

y registrar los mensajes de allí. Lo admito, no es clean manera de hacerlo.

Cuestiones relacionadas