Django快取方式

2021-09-29 04:21:37 字數 1781 閱讀 4533

1、全站快取 (在setting.py中新增中介軟體)

middleware =

['django.middleware.cache.updatecachemiddleware'

,# 必須放在第乙個

'django.middleware.security.securitymiddleware'

,'django.contrib.sessions.middleware.sessionmiddleware'

,'django.middleware.common.commonmiddleware'

,'django.middleware.csrf.csrfviewmiddleware'

,'django.contrib.auth.middleware.authenticationmiddleware'

,'django.contrib.messages.middleware.messagemiddleware'

,'django.middleware.clickjacking.xframeoptionsmiddleware'

,'django.middleware.cache.fetchfromcachemiddleware'

,# 必須放在最後乙個

]

caches =

}cache_middleware_key_prefix =

''cache_middleware_seconds =

600cache_middleware_alias =

'default'

# 或選用redis

2、views層級快取

from django.views.decorators.cache import cache_page

@cache_page(60*

15)# 15分鐘 (單位s)

defindex_view

(requet)

: stus = stu.objects.

all(

)return render(request,

'index.html'

,)

3、模板層級

#這裡是快取5秒

}<

/li>

redis快取

1、先安裝庫 pip install django-redis

caches =

,# 設定redis

'redis':}

}cache_middleware_key_prefix =

''cache_middleware_seconds =

600cache_middleware_alias =

'redis'

2、python console**測試

from django.core.cache import caches

# 存入redis快取

cacheobj = caches[

'redis'

]cacheobj =

set('redis'

,'值')

cacheobj.get(

'redis'

)**參考文件**

django 重新整理快取 Django 中的快取問題

django 中的快取問題 簡單介紹 在動態 中,使用者所有的請求,伺服器都會去資料庫中進行相應的增,刪,查,改,渲染模板,執行業務邏輯,最後生成使用者看到的頁面.當乙個 的使用者訪問量很大的時候,每一次的的後台操作,都會消耗很多的服務端資源,所以必須使用快取來減輕後端伺服器的壓力.快取是將一些常用...

Django快取筆記

設定快取 memcached 使用模組python memcached和模組pylibmc 更改setting 檔案的caches 配置 將 backend 設定為django.core.cache.backends.memcached.memcachedcache或者django.core.cac...

django快取機制

django提供了不同級別的快取粒度 可以快取特定檢視的輸出 可以僅僅快取那些很難生產出來的部分 可以快取整個 設定快取 可將資料快取在資料庫,檔案系統,和記憶體中 setting.py 使用記憶體來進行快取 caches 使用redis進行快取 安裝包 pip install django red...