快取
1.快取
①對於中等流量的**來說,盡可能地減少開銷是必要的。快取資料就是為了儲存那些需要很多計算資源的結果,這樣的話就不必在下次重複消耗計算資源
②django自帶了乙個健壯的快取系統來儲存動態頁面,避免對於每次請求都重新計算
③django提供了不同級別的快取粒度:可以快取特定檢視的輸出、可以僅僅快取那些很難生產出來的部分、或者可以快取整個**
2.設定快取
①通過設定決定把資料快取在**,是資料庫中、檔案系統還是在記憶體中
②通過setting檔案的caches配置來實現
③引數timeout:快取的預設過期時間,以秒為單位,這個引數預設是300秒,即5分鐘;設定timeout為none表示永遠不會過期,值設定成0造成快取立即失效
caches=
}
可以將cache存到redis中,預設採用1資料庫,需要安裝包並配置如下:
安裝包:
pip install django-redis-cache
caches = ,
}
可以連線redis檢視存的資料
連線:redis-cli
切換資料庫:select 1
檢視鍵:keys *
檢視值:get 鍵
3.單個view快取
django.views.decorators.cache定義了cache_page裝飾器,用於對檢視的輸出進行快取
示例**如下:
#return httpresponse('hello2')cache_page接受乙個引數:timeout,秒為單位,上例中快取了15分鐘
檢視快取與url無關,如果多個url指向同一檢視,每個url將會分別快取
4.模板片斷快取
①使用cache模板標籤來快取模板的乙個片段
②需要兩個引數:
快取時間,以秒為單位
給快取片段起的名稱
示例**如下:
hello1
5.底層的快取api
from django.core.cache import cache
設定:cache.set(鍵,值,有效時間)
獲取:cache.get(鍵)
刪除:cache.delete(鍵)
清空:cache.clear()
Django 快取框架 memcache
0 0 原來.翻譯 gashero 目錄主要取自 memcached 的主頁。memcached是乙個高效能的 分布式記憶體物件快取系統,儘管很通用,但是用來加速web應用 降低資料庫負載時比較多。danga interactive 開發了memcached用來提高 livejournal.com ...
django 學習筆記 14 快取機制
快取設定在settings 檔案 的 cache backend 中。這裡是乙個cache backend 所 有可用值的解釋。memcached 是迄今為止可 用於django 的最快,最有效的快取型別,memcached 是完全基於記憶體的快取框架,在安裝了memcached 本身之後,你將需要...
django 重新整理快取 Django 中的快取問題
django 中的快取問題 簡單介紹 在動態 中,使用者所有的請求,伺服器都會去資料庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最後生成使用者看到的頁面.當乙個 的使用者訪問量很大的時候,每一次的的後台操作,都會消耗很多的服務端資源,所以必須使用快取來減輕後端伺服器的壓力.快取是將一些常用...