国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django中的CACHE_BACKEND參數和站點級Cache設置

2019-11-25 17:08:26
字體:
來源:轉載
供稿:網友

CACHE_BACKEND參數

每個緩存后端都可能使用參數。 它們在CACHE_BACKEND設置中以查詢字符串形式給出。 有效參數如下:

  •     timeout:用于緩存的過期時間,以秒為單位。 這個參數默認被設置為300秒(五分鐘)。
  •     max_entries:對于內存,文件系統(tǒng)和數據庫后端,高速緩存允許的最大條目數,超出這個數則舊值將被刪除。 這個參數默認是300。
  •     cull_percentage :當達到 max_entries 的時候,被刪除的條目比率。 實際的比率是 1/cull_percentage ,所以設置cull_frequency=2就是在達到 max_entries 的時候去除一半數量的緩存。

    把 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文件里加入下面所需的設置:

  •     CACHE_MIDDLEWARE_SECONDS :每個頁面應該被緩存的秒數。
  •     CACHE_MIDDLEWARE_KEY_PREFIX :如果緩存被多個使用相同Django安裝的網站所共享,那么把這個值設成當前網站名,或其他能代表這個Django實例的唯一字符串,以避免key發(fā)生沖突。 如果你不在意的話可以設成空字符串。

緩存中間件緩存每個沒有GET或者POST參數的頁面。 或者,如果CACHE_MIDDLEWARE_ANONYMOUS_ONLY設置為True,只有匿名請求(即不是由登錄的用戶)將被緩存。 如果想取消用戶相關頁面(user-specific pages)的緩存,例如Djangos 的管理界面,這是一種既簡單又有效的方法。 CACHE_MIDDLEWARE_ANONYMOUS_ONLY,你應該確保你已經啟動AuthenticationMiddleware。

此外,緩存中間件為每個HttpResponse自動設置了幾個頭部信息:

  •     當一個新(沒緩存的)版本的頁面被請求時設置Last-Modified頭部為當前日期/時間。
  •     設置Expires頭部為當前日期/時間加上定義的CACHE_MIDDLEWARE_SECONDS。
  •     設置Cache-Control頭部來給頁面一個最長的有效期,值來自于CACHE_MIDDLEWARE_SECONDS設置。

如果視圖設置自己的緩存到期時間(即 它有一個最大年齡在頭部信息的Cache-Control中),那么頁面將緩存直到過期,而不是CACHE_MIDDLEWARE_SECONDS。使用django.views.decorators.cache裝飾器,您可以輕松地設置視圖的到期時間(使用cache_control裝飾器)或禁用緩存視圖(使用never_cache裝飾器)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平舆县| 嫩江县| 会理县| 宿迁市| 徐汇区| 潜江市| 达州市| 兴安盟| 城口县| 开阳县| 重庆市| 晋城| 平武县| 东兴市| 朝阳县| 雅安市| 安顺市| 浏阳市| 景谷| 饶河县| 信丰县| 原平市| 临安市| 闵行区| 三穗县| 霍邱县| 玛沁县| 水城县| 石林| 兰考县| 苏州市| 云林县| 湖南省| 淮安市| 红原县| 无棣县| 杭州市| 深圳市| 康保县| 平昌县| 乌鲁木齐市|