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緩存服務器的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緩存服務器 ’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)站中,用戶所有的請求,服務器都會去數(shù)據(jù)庫中進行相應的增,刪,查,改,渲染模板,執(zhí)行業(yè)務邏輯,最后生成用戶看到的頁面.
當一個網(wǎng)站的用戶訪問量很大的時候,每一次的的后臺操作,都會消耗很多的服務端資源,所以必須使用緩存來減輕后端服務器的壓力.
緩存是將一些常用的數(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模塊)到此這篇關于Django實現(xiàn)內(nèi)容緩存實例方法的文章就介紹到這了,更多相關Django實現(xiàn)內(nèi)容緩存內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. 以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式2. html小技巧之td,div標簽里內(nèi)容不換行3. PHP字符串前后字符或空格刪除方法介紹4. 將properties文件的配置設置為整個Web應用的全局變量實現(xiàn)方法5. nestjs實現(xiàn)圖形校驗和單點登錄的示例代碼6. AspNetCore&MassTransit Courier實現(xiàn)分布式事務的詳細過程7. XML入門的常見問題(一)8. jsp cookie+session實現(xiàn)簡易自動登錄9. css進階學習 選擇符10. Echarts通過dataset數(shù)據(jù)集實現(xiàn)創(chuàng)建單軸散點圖
