Django實(shí)現(xiàn)內(nèi)容緩存實(shí)例方法
Django實(shí)現(xiàn)內(nèi)容緩存:
1、內(nèi)存緩存
settings.py文件配置
CACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.locmem.LocMemCache’, # 指定緩存使用的引擎 ’LOCATION’: ’unique-snowflake’, # 寫(xiě)在內(nèi)存中的變量的唯一值 ’TIMEOUT’:300, # 緩存超時(shí)時(shí)間(默認(rèn)為300秒,None表示永不過(guò)期) ’OPTIONS’:{ ’MAX_ENTRIES’: 300, # 最大緩存記錄的數(shù)量(默認(rèn)300) # 緩存到達(dá)最大個(gè)數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認(rèn)3) ’CULL_FREQUENCY’: 3,} }}
2、文件緩存
settings.py文件配置
CACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.filebased.FileBasedCache’,#指定緩存使用的引擎 ’LOCATION’: ’/var/tmp/django_cache’, #指定緩存的路徑 ’TIMEOUT’:300, #緩存超時(shí)時(shí)間(默認(rèn)為300秒,None表示永不過(guò)期) ’OPTIONS’:{ ’MAX_ENTRIES’: 300, # 最大緩存記錄的數(shù)量(默認(rèn)300) # 緩存到達(dá)最大個(gè)數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認(rèn)3) ’CULL_FREQUENCY’: 3, } } }
3、數(shù)據(jù)庫(kù)緩存
settings.py文件配置
CACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.db.DatabaseCache’, # 指定緩存使用的引擎 ’LOCATION’: ’cache_table’, # 數(shù)據(jù)庫(kù)表 ’OPTIONS’:{ ’MAX_ENTRIES’: 300,# 最大緩存記錄的數(shù)量(默認(rèn)300) # 緩存到達(dá)最大個(gè)數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認(rèn)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ù)量(默認(rèn)300) # 緩存到達(dá)最大個(gè)數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認(rèn)3) ’CULL_FREQUENCY’: 3, } }}
使用pylibmc模塊連接memcache
settings.py文件配置
CACHES = { ’default’: { # 指定緩存使用的引擎 ’BACKEND’: ’django.core.cache.backends.memcached.PyLibMCCache’ # 指定本機(jī)的11211端口為Memcache緩存服務(wù)器 ’LOCATION’:’192.168.10.100:11211’, ’OPTIONS’:{ ’MAX_ENTRIES’: 300,# 最大緩存記錄的數(shù)量(默認(rèn)300)# 緩存到達(dá)最大個(gè)數(shù)之后,剔除緩存?zhèn)€數(shù)的比例,即:1/CULL_FREQUENCY(默認(rèn)3)’CULL_FREQUENCY’: 3, }, } }
知識(shí)點(diǎn)擴(kuò)展:
1.緩存的簡(jiǎn)介
在動(dòng)態(tài)網(wǎng)站中,用戶所有的請(qǐng)求,服務(wù)器都會(huì)去數(shù)據(jù)庫(kù)中進(jìn)行相應(yīng)的增,刪,查,改,渲染模板,執(zhí)行業(yè)務(wù)邏輯,最后生成用戶看到的頁(yè)面.
當(dāng)一個(gè)網(wǎng)站的用戶訪問(wèn)量很大的時(shí)候,每一次的的后臺(tái)操作,都會(huì)消耗很多的服務(wù)端資源,所以必須使用緩存來(lái)減輕后端服務(wù)器的壓力.
緩存是將一些常用的數(shù)據(jù)保存內(nèi)存或者memcache中,在一定的時(shí)間內(nèi)有人來(lái)訪問(wèn)這些數(shù)據(jù)時(shí),則不再去執(zhí)行數(shù)據(jù)庫(kù)及渲染等操作,而是直接從內(nèi)存或memcache的緩存中去取得數(shù)據(jù),然后返回給用戶.
2.Django提供了6種緩存方式
開(kāi)發(fā)調(diào)試緩存 內(nèi)存緩存 文件緩存 數(shù)據(jù)庫(kù)緩存 Memcache緩存(使用python-memcached模塊) Memcache緩存(使用pylibmc模塊)到此這篇關(guān)于Django實(shí)現(xiàn)內(nèi)容緩存實(shí)例方法的文章就介紹到這了,更多相關(guān)Django實(shí)現(xiàn)內(nèi)容緩存內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. .NET一行代碼實(shí)現(xiàn)GC調(diào)優(yōu),讓程序不再占用內(nèi)存2. 最新Android & iOS設(shè)計(jì)尺寸規(guī)范3. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)4. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理5. PHP爬蟲(chóng)框架盤(pán)點(diǎn)6. php面向?qū)ο蟪绦蛟O(shè)計(jì)介紹7. IIS+PHP添加對(duì)webp格式圖像的支持配置方法8. php控制反轉(zhuǎn)與依賴注入舉例講解9. layui的checbox在Ajax局部刷新下的設(shè)置方法10. PHP遍歷目錄實(shí)現(xiàn)方法介紹
