Djiango中設定快取

2021-10-01 16:23:05 字數 1443 閱讀 2044

對於中等流量的**來說,盡可能地減少開銷是必要的。快取資料就是為了儲存那些需要很多計算資源的結果,這樣的話就不必在下次重複消耗計算資源

django自帶了乙個健壯的快取系統來儲存動態頁面,避免對於每次請求都重新計算

django提供了不同級別的快取粒度:可以快取特定檢視的輸出、可以僅僅快取那些很難生產出來的部分、或者可以快取整個**

設定快取

通過設定決定把資料快取在**,是資料庫中、檔案系統還是在記憶體中

通過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 鍵

單個view快取

django.views.decorators.cache定義了cache_page裝飾器,用於對檢視的輸出進行快取

示例**如下:

)#return httpresponse('hello2')cache_page接受乙個引數:timeout,秒為單位,上例中快取了15分鐘

檢視快取與url無關,如果多個url指向同一檢視,每個url將會分別快取

模板片斷快取

使用cache模板標籤來快取模板的乙個片段

需要兩個引數:

快取時間,以秒為單位

給快取片段起的名稱

示例**如下:

hello1

<

!--hello2--

>

底層的快取api
from django.core.cache import cache

設定:cache.

set(鍵,值,有效時間)

獲取:cache.get(鍵)

刪除:cache.delete(鍵)

清空:cache.clear(

)

IE中的快取設定

網路上經常出現web伺服器的資訊擁塞 internet上路由器的資料延遲等現象,僅僅依靠有限地增加internet的頻寬並不能帶來預期的效果,在訪問internet資訊時,各個連線環節都存在延遲,這個延遲是由許多綜合因素造成的。我們個人所能做的就是想方設法地使 網頁盡可能地靠近瀏覽器,通過減少傳輸距...

mysql 快取設定 mysql快取設定

伺服器端的設定 mysql優化首先要知道mysql快取是如何工作以及如何設定,下面是我從別人部落格上覆制過來了,初學者。mysql每個表都可以表示為磁碟上的乙個檔案,必須先開啟,後讀取。為了加快從檔案中讀取資料的過程,mysqld 對這些開啟檔案進行了快取,其最大數目由 etc mysqld.con...

mysql中如果設定查詢快取

可將如下語句 query cache size 268435456 query cache type 1 query cache limit 1048576 存放到 etc my.cnf檔案的 mysqld 下 然後重啟mysql資料庫 service mysqld restart 就會啟動mysq...