Django使用redis實現緩存


實現緩存的方式,有多種:本地內存緩存,數據庫緩存,文件系統緩存。這里介紹使用Redis數據庫進行緩存。

配置

1 CACHES = {
2 "default": {
3 "BACKEND": "django_redis.cache.RedisCache",
4 "LOCATION": "redis://127.0.0.1:6379/1",
5 "OPTIONS": {
6 "CLIENT_CLASS": "django_redis.client.DefaultClient",
7 "PASSWORD": "mysecret",
8
"CONNECTION_POOL_KWARGS": {"max_connections": 100} # 連接池最大連接數
9 }}}

在settings.py配置完后執行  python manage.py createcachetable

 

緩存有站點緩存,和單個view緩存
站點緩存: 

1 MIDDLEWARE = [
2 # 站點緩存 , 注意必須在第一個位置
3 'django.middleware.cache.UpdateCacheMiddleware',
4 ...
5 # 站點緩存, 注意必須在最后一個位置
6 'django.middleware.cache.FetchFromCacheMiddleware',
7 ]

視圖緩存:

 1 from django.shortcuts import render
 2 from django.views.decorators.cache import cache_page
 4 from cache.models import Foo
 6 # 在需要緩存的視圖上添加裝飾器, 參數是設置timeout 超時時間, 單位是秒, 
 7 @cache_page(60)
 8 def index(request):
 9   bar = Foo.objects.all()
10   return render(request, 'cache/index.html', {'bar': bar})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM