Django中操作redis


1.Django中操作redis
  安裝django-redis模塊

1
pip3 install django - redis

  在setting配置:

1
2
3
4
5
6
7
8
9
10
11
12
# reids_configure
CACHES  =  {
     "default" :{
         "BACKEND" "django_redis.cache.RedisCache" ,
         "LOCATION" "redis://182.254.210.59:6379" # 連接地址
         "OPTIONS" : {
             "CLIENT_CALSS" "django_redis.client.DefaultClient" ,
             "CONNECTION_POOL_KWARGS" : { "max_connections" 1000 },
             "PASSWORD" : "123123" # 連接密碼
         }
     }
}

  在views中調用

1
2
3
4
5
6
7
8
9
10
11
def  index(request):
     conn  =  get_redis_connection( 'default' )
     conn.hset( 'dic' , 'age' , 22 )
     return  HttpResponse( '設置成功' )
 
 
def  order(request):
     conn  =  get_redis_connection( 'default' )
     val  =  conn.hget( 'dic' , 'age' )
     val  =  val.decode( 'utf-8' )
     return  HttpResponse( '取值成功 ' + val)

 

2.全站緩存
  全站緩存要用到中間件了,在settings中間件配置的 MIDDLEWARE 模塊中,加兩條配置

1
2
3
4
5
6
'django.middleware.cache.UpdateCacheMiddleware' # 加到中間件的最上面
'django.middleware.cache.FetchFromCacheMiddleware' # 加到中間件的最下面
附加:
CACHE_MIDDLEWARE_ALIAS  =  ""  # 設置緩存的別名
CACHE_MIDDLEWARE_SECONDS  =  ""  # 設置緩存的超時時間
CACHE_MIDDLEWARE_KEY_PREFIX  =  ""

  全站緩存指的是每次在請求過來的時候先經過中間件,然后到緩存,如果緩存中沒有的話去就去數據庫中找,在返回數據的時候順便放到緩存中一份

3.單個視圖緩存
  方式一: 給想要被緩存的單個視圖加裝飾器

1
2
3
4
5
from  django.views.decorators.cache  import  cache_page  # 在views中調用
 
@cache_page ( 60  *  15 )
def  index(request):
     ...

  方式二:在配置url的同時直接指定緩存

1
2
3
4
5
from  django.views.decorators.cache  import  cache_page
 
urlpatterns  =  [
     url(r '^foo/([0-9]{1,2})/$' , cache_page( 60  *  15 )(my_view)),
]

 

 

4.局部視圖緩存
  4.1 引入TemplateTag

1
{ %  load cache  % }

  4.2 使用緩存

1
2
3
4
5
{ %  cache  5000  緩存key  % # 指5000秒 緩存key 指緩存存放的地方
 
     <div>< / div>  # 要被緩存的單獨一塊內容
 
{ %  endcache  %


免責聲明!

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



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