Python Django Memcache会话异常行为

Python Django Memcache会话异常行为,python,django,caching,memcached,wsgi,Python,Django,Caching,Memcached,Wsgi,我在django的缓存中发现了一些Weeeeeird行为。如果我刷新页面,我会一次又一次地得到相同的值(这是一个int,应该在每次访问视图时递增)。但是,如果我使用相同的用户名/密码登录到另一个浏览器,我会看到一个递增的数字,但在我再次登录之前它不会递增。我也没有注销,只是让页面保持打开状态,然后从另一个浏览器登录 编辑:每次更改url(例如添加斜杠以保持在同一视图中)浏览器缓存都会被禁用 编辑2:现在超级怪异:在将@never\u cache装饰器添加到视图后,当我在另一个浏览器中打开新页面时

我在django的缓存中发现了一些Weeeeeird行为。如果我刷新页面,我会一次又一次地得到相同的值(这是一个int,应该在每次访问视图时递增)。但是,如果我使用相同的用户名/密码登录到另一个浏览器,我会看到一个递增的数字,但在我再次登录之前它不会递增。我也没有注销,只是让页面保持打开状态,然后从另一个浏览器登录

编辑:每次更改url(例如添加斜杠以保持在同一视图中)浏览器缓存都会被禁用

编辑2:现在超级怪异:在将
@never\u cache
装饰器添加到视图后,当我在另一个浏览器中打开新页面时,每次刷新都会开始工作,但当我切换回apache/wsgi时,它再次停止工作(是的,我重新启动了apache)

编辑3:现在随机开始在apache下工作。。。但在chrome中,如果我将url设置为尾随
/
,它将返回到x刷新之前的数字。但是,如果我在chromium中使用尾随的
/
进行刷新,它将继续递增。这是浏览器还是apache缓存

查看代码:

from django.core.cache import cache

if cache.get('counter') != None:#0 needs to let this pass
    cache.incr('counter')
else:
    cache.set('counter', 0)
return HttpResponse(cache.get('counter')) 
相关设置:

 MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',          #cache middleware
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',)      #cache middleware

CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
CACHES = {'default':{
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211', #this is the default port for memcache
        'TIMEOUT': '1800' #30 Minutes
        }
    }
我将密切关注这个问题,以获取有关我问题的更多信息,这样评论将很快得到回答


在您的
中间件类中
django.MIDDLEWARE.cache.UpdateChemiddleware
django.MIDDLEWARE.cache.FetchFromCacheMiddleware
用于页面缓存。这就是为什么在使用
@never\u缓存
装饰器时,这种行为消失了

您可能已经看到了奇怪的斜杠/无斜杠问题,因为这些页面仍然在缓存中(我不能100%确定装饰器是否与从缓存获取部分交互)

如果您刷新缓存,或者甚至将中间件取出进行测试,然后再试一次,我敢打赌您会看到预期的一致增量