2017-01-02 120 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),它没有缓存任何东西。 –

回答