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’, # 寫在內(nèi)存中的變量的唯一值 ’TIMEOUT’:300, # 緩存超時(shí)時(shí)間(默認(rèn)為300秒,None表示永不過期) ’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表示永不過期) ’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ù)庫緩存
settings.py文件配置
CACHES = { ’default’: { ’BACKEND’: ’django.core.cache.backends.db.DatabaseCache’, # 指定緩存使用的引擎 ’LOCATION’: ’cache_table’, # 數(shù)據(jù)庫表 ’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ù)庫中進(jìn)行相應(yīng)的增,刪,查,改,渲染模板,執(zhí)行業(yè)務(wù)邏輯,最后生成用戶看到的頁面.
當(dāng)一個(gè)網(wǎng)站的用戶訪問量很大的時(shí)候,每一次的的后臺(tái)操作,都會(huì)消耗很多的服務(wù)端資源,所以必須使用緩存來減輕后端服務(wù)器的壓力.
緩存是將一些常用的數(shù)據(jù)保存內(nèi)存或者memcache中,在一定的時(shí)間內(nèi)有人來訪問這些數(shù)據(jù)時(shí),則不再去執(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實(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. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. 簡(jiǎn)述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別3. Python TestSuite生成測(cè)試報(bào)告過程解析4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. SpringBoot項(xiàng)目?jī)?yōu)雅的全局異常處理方式(全網(wǎng)最新)6. docker /var/lib/docker/aufs/mnt 目錄清理方法7. IntelliJ IDEA設(shè)置背景圖片的方法步驟8. 如何清空python的變量9. 解決python路徑錯(cuò)誤,運(yùn)行.py文件,找不到路徑的問題10. python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明
