Python Memcached未超出作用域(?)

Python Memcached未超出作用域(?),python,django,caching,scope,memcached,Python,Django,Caching,Scope,Memcached,我似乎找不到任何memcached的实例似乎有某种作用域,但这就是我现在所经历的 在myviews.py中,每次加载页面时,我都会在memcached auto increment中存储一个值。我知道这是有效的,因为在大约30次重新加载后,大约是30次 但是,例如,如果我尝试从python manage.py shell访问此变量,则存储在其中的值不起作用。此外,我存储在该shell中的任何值只有在该shell运行时才会持久 下面是我在shell中所做的: from django.conf im

我似乎找不到任何memcached的实例似乎有某种作用域,但这就是我现在所经历的

在my
views.py
中,每次加载页面时,我都会在memcached auto increment中存储一个值。我知道这是有效的,因为在大约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,然后再次运行,同样的事情也会发生:最值得注意的是,获取
mynew\u key
仍将返回
None
。我看不到存储在
my\u incr\u key
中的值,这表明存在范围问题

这简直快把我逼疯了

是否存在
memcached
的作用域?这就是我们要做的吗?如何解决此“范围”问题

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

编辑

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

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

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

您确定没有使用本地内存缓存吗?你能显示你设置的缓存部分吗?@IainShelvington,奇怪的是,在我的
settings.py
中根本没有包含“CACH”的内容,但是缓存似乎对
视图有效。py
你需要在你的设置中指定memcached-。默认缓存设置使用仅存在于正在运行的进程中的本地内存缓存。您可以通过重新启动服务器来测试这一点。如果您运行的是本地内存cachingMemcached,那么您的缓存将被“重置”。cachingMemcached与Django完全分离,并且不使用Apache或dev服务器。它是自己的服务器,根据自己的配置运行。您确定没有使用本地内存缓存吗?你能显示你设置的缓存部分吗?@IainShelvington,奇怪的是,在我的
settings.py
中根本没有包含“CACH”的内容,但是缓存似乎对
视图有效。py
你需要在你的设置中指定memcached-。默认缓存设置使用仅存在于正在运行的进程中的本地内存缓存。您可以通过重新启动服务器来测试这一点。如果您运行的是本地内存cachingMemcached,那么您的缓存将被“重置”。cachingMemcached与Django完全分离,并且不使用Apache或dev服务器。它是自己的服务器,根据自己的配置运行。