Memcached不能超越范围(?)

时间:2017-10-09 16:10:45

标签: python django caching scope memcached

我似乎无法找到memcached似乎具有某种范围的任何实例,但这就是我现在似乎正在发生的事情。

在我的views.py中,每次页面加载时,我都会在memcached自动增量中存储一个值。我知道这是有效的,因为在大约30次重新加载后,它大约是30。

但是,如果我尝试从python manage.py shell访问此变量,则存储在那里的值不起作用。此外,我存储在该shell中的任何值只有在该shell运行时才会保留。

以下是我在shell中所做的事情:

from django.conf import settings
from django.core.cache import cache

> cache.get('my_incr_key') # This auto-increments in views.py
None
> cache.get('my_new_key')
None
> cache.set('my_new_key', 12, None)
> cache.get('my_new_key')
12

问题是,如果我退出shell,然后再次运行它,同样会发生同样的事情:最值得注意的是,获取my_new_key仍会返回None。我无法看到my_incr_key中存储的值向我显示存在范围问题。

这让我绝对疯狂!

是否存在memcached的范围?那是什么在这里发挥作用?我该如何解决这个范围'问题

如果可能的话,我想只使用memcached而不必处理任何文件。

修改

这是我添加到settings.py的内容:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

当我从cache导入django.core.cache时,如何指出这是我要使用的缓存?

0 个答案:

没有答案