Django實現(xiàn)內(nèi)容緩存實例方法
Django實現(xiàn)內(nèi)容緩存:
1、內(nèi)存緩存
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', # 指定緩存使用的引擎 'LOCATION': 'unique-snowflake', # 寫在內(nèi)存中的變量的唯一值 'TIMEOUT':300, # 緩存超時時間(默認為300秒,None表示永不過期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數(shù)量(默認300) # 緩存到達最大個數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認3) 'CULL_FREQUENCY': 3, } } }
2、文件緩存
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',#指定緩存使用的引擎 'LOCATION': '/var/tmp/django_cache', #指定緩存的路徑 'TIMEOUT':300, #緩存超時時間(默認為300秒,None表示永不過期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數(shù)量(默認300) # 緩存到達最大個數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認3) 'CULL_FREQUENCY': 3, } } }
3、數(shù)據(jù)庫緩存
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', # 指定緩存使用的引擎 'LOCATION': 'cache_table', # 數(shù)據(jù)庫表 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數(shù)量(默認300) # 緩存到達最大個數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認3) 'CULL_FREQUENCY': 3, } } }
4、Mrmcache緩存
使用python-memcached模塊連接memcache
settings.py文件配置
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',# 指定緩存使用的引擎 'LOCATION': '192.168.10.100:11211', # 指定Memcache緩存服務(wù)器的IP地址和端口 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大緩存記錄的數(shù)量(默認300) # 緩存到達最大個數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認3) 'CULL_FREQUENCY': 3, } } }
使用pylibmc模塊連接memcache
settings.py文件配置
CACHES = { 'default': { # 指定緩存使用的引擎 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache' # 指定本機的11211端口為Memcache緩存服務(wù)器 'LOCATION':'192.168.10.100:11211', 'OPTIONS':{ 'MAX_ENTRIES': 300,# 最大緩存記錄的數(shù)量(默認300) # 緩存到達最大個數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認3) 'CULL_FREQUENCY': 3, }, } }
知識點擴展:
1.緩存的簡介
在動態(tài)網(wǎng)站中,用戶所有的請求,服務(wù)器都會去數(shù)據(jù)庫中進行相應(yīng)的增,刪,查,改,渲染模板,執(zhí)行業(yè)務(wù)邏輯,最后生成用戶看到的頁面.
當一個網(wǎng)站的用戶訪問量很大的時候,每一次的的后臺操作,都會消耗很多的服務(wù)端資源,所以必須使用緩存來減輕后端服務(wù)器的壓力.
緩存是將一些常用的數(shù)據(jù)保存內(nèi)存或者memcache中,在一定的時間內(nèi)有人來訪問這些數(shù)據(jù)時,則不再去執(zhí)行數(shù)據(jù)庫及渲染等操作,而是直接從內(nèi)存或memcache的緩存中去取得數(shù)據(jù),然后返回給用戶.
2.Django提供了6種緩存方式
- 開發(fā)調(diào)試緩存
- 內(nèi)存緩存
- 文件緩存
- 數(shù)據(jù)庫緩存
- Memcache緩存(使用python-memcached模塊)
- Memcache緩存(使用pylibmc模塊)
到此這篇關(guān)于Django實現(xiàn)內(nèi)容緩存實例方法的文章就介紹到這了,更多相關(guān)Django實現(xiàn)內(nèi)容緩存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 用pandas實現(xiàn)數(shù)據(jù)透視表功能
這篇文章主要介紹了python 用pandas實現(xiàn)數(shù)據(jù)透視表功能的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12詳解Django自定義圖片和文件上傳路徑(upload_to)的2種方式
這篇文章主要介紹了詳解Django自定義圖片和文件上傳路徑(upload_to)的2種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Django ValuesQuerySet轉(zhuǎn)json方式
這篇文章主要介紹了Django ValuesQuerySet轉(zhuǎn)json方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03python 實現(xiàn)數(shù)組list 添加、修改、刪除的方法
下面小編就為大家分享一篇python 實現(xiàn)數(shù)組list 添加、修改、刪除的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python設(shè)計模式之迭代器模式原理與用法實例分析
這篇文章主要介紹了Python設(shè)計模式之迭代器模式原理與用法,結(jié)合具體實例形式分析了迭代器模式的概念、原理、定義及使用方法,代碼注釋說明簡單易懂,需要的朋友可以參考下2019-01-01在pycharm中關(guān)掉ipython console/PyDev操作
這篇文章主要介紹了在pycharm中關(guān)掉ipython console/PyDev操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖
這篇文章主要介紹了Python基于wordcloud及jieba實現(xiàn)中國地圖詞云圖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06