2013-05-28 168 views
0

这里会发生什么?Django memcached负值

当我初始化具有负值的缓存键时,我不能使用incr和decr。 Get按预期工作。

>>> from django.core.cache import cache 
>>> cache.set('qwerty',-2) 
>>> cache.incr('qwerty') 
*** ValueError: Key ':1:qwerty' not found 

如果我有一个正数做我得到预期的行为

>>> cache.set('qwerty',2) 
>>> cache.incr('qwerty') 
>>> cache.get('qwerty') 
3 
+0

请注意,将缓存后端设置为本地内存(django.core.cache.backends.locmem.LocMemCache)也可解决此问题。 –

回答

1

这是由于在内存缓存的限制。只能增加/减少无符号整数。