CACHE_BACKEND參數
每個緩存后端都可能使用參數。 它們在CACHE_BACKEND設置中以查詢字符串形式給出。 有效參數如下:
把 cull_frequency 的值設置為 0 意味著當達到 max_entries 時,緩存將被清空。 這將以很多緩存丟失為代價,大大提高接受訪問的速度。
在這個例子中, timeout 被設成 60
CACHE_BACKEND = "memcached://127.0.0.1:11211/?timeout=60"
而在這個例子中, timeout 設為 30 而 max_entries 為 400 :
CACHE_BACKEND = "locmem:///?timeout=30&max_entries=400"
其中,非法的參數與非法的參數值都將被忽略。
站點級 Cache
一旦高速緩存設置,最簡單的方法是使用緩存緩存整個網站。 您 需要添加'django.middleware.cache.UpdateCacheMiddleware'和 ‘django.middleware.cache.FetchFromCacheMiddleware'到您的MIDDLEWARE_CLASSES設置中,在這個例子中是:
MIDDLEWARE_CLASSES = ( 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware',)
注意:
不,這里并沒有排版錯誤: 修改的中間件,必須放在列表的開始位置,而fectch中間件,必須放在最后。 細節(jié)有點費解,如果您想了解完整內幕請參看下面的MIDDLEWARE_CLASSES順序。
然后,在你的Django settings文件里加入下面所需的設置:
緩存中間件緩存每個沒有GET或者POST參數的頁面。 或者,如果CACHE_MIDDLEWARE_ANONYMOUS_ONLY設置為True,只有匿名請求(即不是由登錄的用戶)將被緩存。 如果想取消用戶相關頁面(user-specific pages)的緩存,例如Djangos 的管理界面,這是一種既簡單又有效的方法。 CACHE_MIDDLEWARE_ANONYMOUS_ONLY,你應該確保你已經啟動AuthenticationMiddleware。
此外,緩存中間件為每個HttpResponse自動設置了幾個頭部信息:
如果視圖設置自己的緩存到期時間(即 它有一個最大年齡在頭部信息的Cache-Control中),那么頁面將緩存直到過期,而不是CACHE_MIDDLEWARE_SECONDS。使用django.views.decorators.cache裝飾器,您可以輕松地設置視圖的到期時間(使用cache_control裝飾器)或禁用緩存視圖(使用never_cache裝飾器)。
新聞熱點
疑難解答
圖片精選