settings中的配置
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', # 指定緩存使用的引擎
'LOCATION': 'path', # 指定緩存的路徑
'TIMEOUT': 300, # 緩存超時時間(默認為300秒,None表示永不過期)
'OPTIONS': {
'MAX_ENTRIES': 300, # 最大緩存記錄的數量(默認300)
'CULL_FREQUENCY': 3, # 緩存到達最大個數之后,剔除緩存個數的比例,即:1/CULL_FREQUENCY(默認3)
}
}
}
按照緩存粒度不同分類
單頁面緩存
在視圖函數上加一個裝飾器
from django.views.decorators.cache import cache_page
@cache_page(5) 5 代表緩存時間
def testpage():
pass
局部緩存
# 模板文件中這樣使用
{% load cache %}
{% cache 5 'test'%} 第一個參數表示緩存時間,第二個參數是key值(取緩存的時候,需要根據key值取)
當前時間:{{ time }}
{% endcache %}
全站緩存
#settings文件夾中的位置
'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware'
視圖函數中使用緩存
# view.py
cache.set('test_data',{'name':'龍媽','age':18},5)
cache.get('test_data')