2012-01-28 12 views
16

Estoy tratando de entender cómo Django está configurando claves para mis vistas. Me pregunto si hay una forma de obtener todas las claves guardadas de Memcached. algo así como cache.all() o algo así. He estado tratando de encontrar la clave con cache.has_key('test') pero todavía no puedo entender cómo se nombran las teclas de vista.Obtener la lista de claves de caché en Django

ACTUALIZACIÓN: La razón por la que necesito esto se debe a que tengo que eliminar manualmente las partes de la caché, pero no sé los valores clave de Django está fijando para la llave de mi cache_view

+0

Podría aclarar por qué es necesario esto? Como mi respuesta a continuación menciona, esto no es posible dentro de Django. Si conocemos su caso de uso, podríamos ofrecer soluciones alternativas. –

Respuesta

-1

Hay algunas soluciones extrañas que puede hacer para obtener toda teclas desde la línea de comandos, pero no hay forma de hacer esto con memcached dentro de Django. Ver this thread.

0

Como se mencionó, no hay forma de obtener una lista de todas las claves de caché dentro de django. Si está utilizando un caché externo (por ejemplo, memoria caché de memoria o de memoria), puede inspeccionar el caché externo directamente.

Pero si quieres saber cómo convertir una clave Django a la utilizada en el sistema de fondo, make_key() función de Django hará esto.

https://docs.djangoproject.com/en/1.8/topics/cache/#cache-key-transformation

>>> from django.core.cache import caches 
>>> caches['default'].make_key('test-key') 
u':1:test-key' 
Cuestiones relacionadas