2017-01-02 74 views
0

我想了解Django緩存框架是如何工作的。我在settings.py中設置了memcached,但加載頁面的時間並沒有縮短,Django-debug-toolbar顯示了0個緩存調用。Django不使用memcached框架

這是我在settings.py已經設置:

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

CACHE_BACKEND = 'memcached://127.0.0.1:11211/' 
CACHE_MIDDLEWARE_ALIAS = "default" 
CACHE_MIDDLEWARE_SECONDS = 60 

MIDDLEWARE = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'querycount.middleware.QueryCountMiddleware', 
    'corsheaders.middleware.CorsMiddleware', 
    'django.middleware.cache.UpdateCacheMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.cache.FetchFromCacheMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'debug_toolbar.middleware.DebugToolbarMiddleware', 

] 

現在我刷新兩次的頁面對象的表。我認爲第二次應該沒有數據庫查找,因爲沒有任何改變。

enter image description here

我缺少什麼?

+0

那麼,你已經設置了緩存後端(兩次,出於某種原因,但第二個設置不再使用),但你實際上緩存什麼?如果是這樣的話? –

+0

我認爲它會緩存任何數據庫查找和其他昂貴的操作。根據標題在本教程中緩存整個站點:https://www.tutorialspoint.com/django/django_caching.htm是不是可以讓django自動緩存? –

+0

我在一個視圖上設置了@cache_control(must_revalidate = True,max_age = 3600),它沒有緩存任何東西。 –

回答