framework - dummycache django
Django Cache cache.set No almacena datos (2)
Cuando ejecuto python manage.py shell
y luego:
from django.core.cache import cache
cache.set("stack","overflow",3000)
print cache.get("stack")
(output: ) None
Intenté reiniciar memcache, y esto es lo que hay en mi configuración:
CACHES = {
''default'' : {
''BACKEND'': ''django.core.cache.backends.memcached.MemcachedCache'',
''LOCATION'' : ''127.0.0.1:11211'',
}
}
Asegúrese de que está utilizando el caché correcto. Intente from django.core.cache import caches
, y luego vea el contenido de caches.all()
. Solo debe tener una instancia de django.core.cache.backends.memcached.MemcachedCache
.
Si es así, intente acceder a eso directamente, por ejemplo
from django.core.cache import caches
m_cache = caches.all()[0]
m_cache.set("stack","overflow",3000)
m_cache.get("stack")
Esto podría no resolver su problema, pero al menos lo acercará más a la depuración de Memcached en lugar del proxy de caché de Django o su configuración.
Creo que django aumenta la clave con una versión. Por ejemplo,
django_memcache.set(''my_key'', ''django'', 1000)
establecerá la clave :1:my_key
en memcache:
<36 set :1:my_key 0 1000 6
>36 STORED
Sin embargo, si configura la clave a través de telnet o el módulo python-memcached, almacenará la clave sin formato como se esperaba:
<38 set my_key 0 1000 13
>38 STORED
Entonces, ¿quizás no estás consultando la clave correcta?
Consulte https://docs.djangoproject.com/en/1.10/topics/cache/#cache-key-transformation