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