Herramientas Versión:¿Cómo verifico el contenido de una memoria caché de Django con memcached de Python?
- Python 2.6.5
- Django 1.3.1
- memcached 1.4.10
- pitón-memcached 1,48
Memcached se está ejecutando actualmente:
$ ps -ef | grep memcache
nobody 2993 1 0 16:46 ? 00:00:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
Estoy usi ng memcached y Python MemCached con mi proj Django y lo he instalado como el siguiente en settings.py
:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 86400,
},
}
He creado la memoria caché en el código:
from django.core.cache import cache
cache.set('countries', ['Canada', 'US'])
entonces abro un Django shell para inspeccionar el contenido de la caché:
>>> from django.core.cache import cache
>>> 'countries' in cache
True
>>> import memcache
>>> mc = memcache.Client(['127.0.0.1:11211'], debug=1)
>>> mc.get('countries')
>>>
Cuando uso de caché de Django, existe countries
clave. Sin embargo, cuando uso la memcache de Python, no obtengo nada para los países. ¿Qué estoy haciendo mal arriba?
Como referencia, django ya no agrega prefijos a sus claves de caché con dos puntos de forma predeterminada. Sin embargo, aún puede hacer que esto suceda utilizando la opción de configuración KEY_PREFIX que se describe aquí. http://bit.ly/1lzFFPi –
¿Por qué acortaría la URL de [Django Cache Prefixing] (https://docs.djangoproject.com/en/dev/topics/cache/#cache-key-prefixing)? – tback
Lo hice porque estaba pensando que me iba a quedar sin espacio para comentarios. (No lo haré en el futuro) –