前言
本文主要給大家介紹了關于Django實現內容緩存的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
1.緩存的簡介
在動態網站中,用戶所有的請求,服務器都會去數據庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最后生成用戶看到的頁面.
當一個網站的用戶訪問量很大的時候,每一次的的后臺操作,都會消耗很多的服務端資源,所以必須使用緩存來減輕后端服務器的壓力.
緩存是將一些常用的數據保存內存或者memcache中,在一定的時間內有人來訪問這些數據時,則不再去執行數據庫及渲染等操作,而是直接從內存或memcache的緩存中去取得數據,然后返回給用戶.
2.Django提供了6種緩存方式
開發調試緩存 內存緩存 文件緩存 數據庫緩存 Memcache緩存(使用python-memcached模塊) Memcache緩存(使用pylibmc模塊)經常使用的有文件緩存和Mencache緩存
2.1 各種緩存方式的配置文件說明
2.1.1 開發調試(此模式為開發調試使用,實際上不執行任何操作)
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 緩存后臺使用的引擎 'TIMEOUT': 300, # 緩存超時時間(默認300秒,None表示永不過期,0表示立即過期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數量(默認300) 'CULL_FREQUENCY': 3, # 緩存到達最大個數之后,剔除緩存個數的比例,即:1/CULL_FREQUENCY(默認3) }, }}2.1.2 內存緩存(將緩存內容保存至內存區域中)
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', # 指定緩存使用的引擎 'LOCATION': 'unique-snowflake', # 寫在內存中的變量的唯一值 'TIMEOUT':300, # 緩存超時時間(默認為300秒,None表示永不過期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數量(默認300) 'CULL_FREQUENCY': 3, # 緩存到達最大個數之后,剔除緩存個數的比例,即:1/CULL_FREQUENCY(默認3) } }}2.1.3 文件緩存(把緩存數據存儲在文件中)
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', #指定緩存使用的引擎 'LOCATION': '/var/tmp/django_cache', #指定緩存的路徑 'TIMEOUT':300, #緩存超時時間(默認為300秒,None表示永不過期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數量(默認300) 'CULL_FREQUENCY': 3, # 緩存到達最大個數之后,剔除緩存個數的比例,即:1/CULL_FREQUENCY(默認3) } } }2.1.4 數據庫緩存(把緩存數據存儲在數據庫中)
新聞熱點
疑難解答