快取工作原理:快取是將一些常用的資料儲存記憶體或者memcache中,在一定的時間內有使用者來訪問這些資料時,則不再去執行資料庫及渲染等操作,而是直接從記憶體或memcache的快取中去取得資料,然後返回給使用者。
django提供了6種快取方式:
開發除錯快取
記憶體快取
檔案快取
資料庫快取
memcache快取(使用python-memcached模組)
memcache快取(使用pylibmc模組)
這裡不多介紹,有興趣的可以去看看官方文件:
要想在django配置redis快取,則需要先安裝依賴:
pip install django-redis
settings.py配置:
檢視中連線(手動操作redis):caches =
# "password": "密碼",}}
}
"設定redis"
"獲取redis"
)全站使用快取#
使用中介軟體,經過一系列的認證等操作,如果內容在快取中存在,則使用 fetchfromcachemiddleware 獲取內容並返回給使用者,當返回給使用者之前,判斷快取中是否已經存在,如果不存在則updatecachemiddleware 會將快取儲存至快取,從而實現全站快取。
測試:middleware =
['django.middleware.cache.updatecachemiddleware'
,# 放在第一
# 其他中介軟體...
'django.middleware.cache.fetchfromcachemiddleware'
,# 放在最後
]cache_middleware_alias =
""# 用於儲存的快取別名
cache_middleware_seconds =
600# 每個頁面應快取的秒數
cache_middleware_key_prefix =
""# 如果使用相同的django安裝在多個站點之間共享快取,請將其設定為站點名稱或此django例項特有的其他字串,以防止發生金鑰衝突。如果你不在乎,請使用空字串。
)可以發現,index或者home頁面第一次返回的時間是多少,往後10分鐘以內,時間都是不變的。
單獨檢視快取(記得取消全站快取中介軟體配置)#
設定log快取 node多級快取之redis快取
在node專案開發過程中,快取常常被用來解決高效能 高併發等問題。在我們的實際專案中,運用快取的思路是記憶體快取 介面 檔案快取。前面的總結中已經詳細的說明了怎麼實現和封裝記憶體快取和檔案快取。雖然二級快取已經基本能夠滿足現在的所有場景需求,但現在我們再加一級redis快取,從而使我們的專案更加穩定...
Django 快取優化之檔案快取
快取優化是指在django中開啟快取設定,這樣在 流量非常大的時候就不需要頻繁訪問資料庫,提高系統效能。使用檔案做快取的具體操作 1.開啟快取 2.開啟快取的中介軟體 儲存快取的功能 django.middleware.cache.updatecachemiddleware 判斷是否有快取 3.啟動...
Django自學筆記之快取
設定快取 django自帶了乙個健壯的快取系統來儲存動態頁面 快取到本地記憶體中 caches 將cache存到redis中,預設採用1資料庫,需要安裝包並配置如下 安裝包 pip install django redis cachesettings.py中配置 caches views.py中 f...