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 % }
|
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django中操作redis - Python技术站