1、全站快取 (在setting.py中新增中介軟體)
middleware =
['django.middleware.cache.updatecachemiddleware'
,# 必須放在第乙個
'django.middleware.security.securitymiddleware'
,'django.contrib.sessions.middleware.sessionmiddleware'
,'django.middleware.common.commonmiddleware'
,'django.middleware.csrf.csrfviewmiddleware'
,'django.contrib.auth.middleware.authenticationmiddleware'
,'django.contrib.messages.middleware.messagemiddleware'
,'django.middleware.clickjacking.xframeoptionsmiddleware'
,'django.middleware.cache.fetchfromcachemiddleware'
,# 必須放在最後乙個
]
caches =
}cache_middleware_key_prefix =
''cache_middleware_seconds =
600cache_middleware_alias =
'default'
# 或選用redis
2、views層級快取
from django.views.decorators.cache import cache_page
@cache_page(60*
15)# 15分鐘 (單位s)
defindex_view
(requet)
: stus = stu.objects.
all(
)return render(request,
'index.html'
,)
3、模板層級
#這裡是快取5秒
}<
/li>
redis快取
1、先安裝庫 pip install django-redis
caches =
,# 設定redis
'redis':}
}cache_middleware_key_prefix =
''cache_middleware_seconds =
600cache_middleware_alias =
'redis'
2、python console**測試
from django.core.cache import caches
# 存入redis快取
cacheobj = caches[
'redis'
]cacheobj =
set('redis'
,'值')
cacheobj.get(
'redis'
)**參考文件**
django 重新整理快取 Django 中的快取問題
django 中的快取問題 簡單介紹 在動態 中,使用者所有的請求,伺服器都會去資料庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最後生成使用者看到的頁面.當乙個 的使用者訪問量很大的時候,每一次的的後台操作,都會消耗很多的服務端資源,所以必須使用快取來減輕後端伺服器的壓力.快取是將一些常用...
Django快取筆記
設定快取 memcached 使用模組python memcached和模組pylibmc 更改setting 檔案的caches 配置 將 backend 設定為django.core.cache.backends.memcached.memcachedcache或者django.core.cac...
django快取機制
django提供了不同級別的快取粒度 可以快取特定檢視的輸出 可以僅僅快取那些很難生產出來的部分 可以快取整個 設定快取 可將資料快取在資料庫,檔案系統,和記憶體中 setting.py 使用記憶體來進行快取 caches 使用redis進行快取 安裝包 pip install django red...