Django 框架14 快取

2021-09-29 18:30:24 字數 1447 閱讀 7008

快取

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 中的快取問題 簡單介紹 在動態 中,使用者所有的請求,伺服器都會去資料庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最後生成使用者看到的頁面.當乙個 的使用者訪問量很大的時候,每一次的的後台操作,都會消耗很多的服務端資源,所以必須使用快取來減輕後端伺服器的壓力.快取是將一些常用...