【发布时间】:2012-01-20 17:18:22
【问题描述】:
工具版本:
- Python 2.6.5
- Django 1.3.1
- memcached 1.4.10
- python-memcached 1.48
Memcached 当前正在运行:
$ 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
我在我的 Django 项目中使用 memcached 和 python memcached,我在 settings.py 中设置如下:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 86400,
},
}
我已经在代码中设置了缓存:
from django.core.cache import cache
cache.set('countries', ['Canada', 'US'])
然后我打开一个 Django shell 来检查缓存的内容:
>>> 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')
>>>
当我使用 Django 的缓存时,countries 键存在。但是,当我使用 Python 的 memcache 时,我没有得到任何国家/地区的信息。我在上面做错了什么?
【问题讨论】: