我安装了它们,但是每当我尝试获得一些关键时,我都会得到一个
>>from django.core.cache import cache #no errors
>>cache.set('value1','value2',39) #no errors
>>cache.get('value1') #no errors but no value either
在settings.py中的我得到了
CACHES = {
'default':{
'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION':'127.0.0.1:1991',
'TIMEOUT': 1200,
}
}
出了什么问题?我甚至没有想到要调试什么或从哪里开始...
答案 0 :(得分:1)
你确定memcached实际上正在运行,它是否配置为侦听127.0.0.1端口1991?默认情况下,memcached侦听端口11211。
当django.core.cache.cache
无法存储密钥时, memcache
会显得愚蠢,它不会引发异常或返回任何错误。
您可以使用以下内容直接测试内存:
import memcache
for port in (1991, 11211):
print "Testing memcached on port %d" % port
mc = memcache.Client(['127.0.0.1:%d' % port])
if mc.set('value1', 'value2'):
print "stored key value pair"
if mc.get('value1') == 'value2':
print "successfully retrieved value"
break
else:
print "Failed to retrieve value"
else:
print "Failed to store key value pair"