为什么memcache在我的Django中不起作用?
from django.core.cache import cache
def testcache():
cache.set('test','I am putting this message in',3333)
print cache.get('test')
它只是打印了“None”
这是在“ps aux”里的内容:
dovr 2241 0.0 0.8 57824 2144 ? Ssl 04:20 0:00 memcached -d -u root -m 3900 -p 11211
dovr 2247 0.0 3.7 83696 9800 pts/2 S+ 04:20 0:00 python manage.py runserver 0.0.0.0:8000
这是我在settings.py里的内容:
CACHE_BACKEND = 'memcached://MYIPADRESS:11211/'
顺便说一下,这之前是可以正常工作的,但现在不行了!我不知道为什么,真奇怪。
2 个回答
2
你可以通过记录 set()
方法返回的值来确保你的代码能成功连接到 memcached。可能是因为 memcached 监听的是 127.0.0.1,而你却在尝试连接外部接口。
0
解决了。
Django正在和服务器交流。我输入了“nc IPADRESS 11211”。然后我输入了“stats”。
接着,我发现cmd_get和cmd_set在变化,这说明它们在进行交流。
然后我意识到,我的视图代码有问题。键里面不能有“空格”。它必须是没有空格的(并且要经过编码)。