0
我有一個內部應用程序,在任何時間20-100登錄用戶。爲了幫助加速某些視圖的傳遞,我添加了Memcached,併爲一些靜態視圖添加了模板級緩存(片段)。Django Memcached顯示錯誤登錄用戶
開啓memcached幾分鐘後,您將看到不同的用戶顯示在標題中的「Logged in as」中。刷新頁面通常會顯示一個不同的用戶,就像高速緩存混合了會話一樣?
我Middleware.py
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.gzip.GZipMiddleware',
)
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
這裏是我的幾個模板使用緩存標籤的例子:
{% load cache %}
{% cache 500 right_sidebar %}
<aside class="user-menu no-print">
<div class="tabs-offcanvas">
<ul class="nav nav-tabs nav-justified">
<li class="active"><a href="#userbar-one" data-toggle="tab">Main</a>
</li>
<li><a href="#userbar-two" data-toggle="tab">ToDo</a>
</li>
</ul>
<div class="tab-content">
<div id="userbar-one" class="tab-pane active">
<div class="main-info">
<div class="user-img">{% include "_tag_avatar.html" %}
</div>
<h1>{{ request.user.first_name }} {{ request.user.last_name }}</h1>
</div>
<div class="list-group"><a href="/accounts/profile/?id={{request.user.id}}" class="list-group-item"><i class="fa fa-user"> Profile</i></a><a href="/accounts/lock/" data-toggle="modal" class="list-group-item lockme"><i class="fa fa-lock"> Lock</i></a><a href="/accounts/logout/" data-toggle="modal" class="list-group-item logout"><i class="fa fa-power-off"> Sign Out</i></a>
</div>
</div>
....
我沒有在視圖上實現任何緩存,只是模板級別緩存這些靜態他的使用模板。我也不會緩存標題HTML。
關於我可能做錯什麼想法?