2013-05-28 18 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

Это связано с ограничением в кэше. Это возможно только для увеличения/уменьшения неизменяемых целых чисел.

Смежные вопросы