django-redis 基于 BSD 许可, 是一个使 Django 支持 Redis cache/session 后端的全功能组件.
1,安装 django-redis 最简单的方法就是用 pip :
pip install django-redis
2,作为 cache backend 使用配置:
为了使用 django-redis , 你应该将你的 django cache setting 改成这样:
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 } 8 } 9 }
3 作为 session backend 使用配置
Django 默认可以使用任何 cache backend 作为 session backend, 将 django-redis 作为 session 储存后端不用安装任何额外的 backend
1 SESSION_ENGINE = "django.contrib.sessions.backends.cache" 2 SESSION_CACHE_ALIAS = "default"
4,使用 django-redis 进行测试
from django_redis import get_redis_connection redies_conn = get_redis_connection('verify_codes') #这里的名字是setting 里的配置的name
添加:
redis_conn.setex(key,timeout,value) #键 过期时间(s) 值
取值:
redis_conn.setex.get('key')
删除:
redies_conn.delete('key')
Django-redis管道的使用
1 from django_redis import get_redis_connection
2 #创建redis连接对象 3 #说明:verify_codes表示settings文件中的redis配置的选择 4 redis_conn = get_redis_connection('verify_codes')
5 #管道的使用 6 pl = redis_conn.pipeline() 7 pl.setex("sms_%s" % mobile, constants.SMS_CODE_REDIS_EXPIRES, sms_code) 8 pl.setex('send_flag_%s' % mobile, constants.SEND_SMS_CODE_INTERVAL, 1)
9 #传递指令, 写入redis 10 pl.execute()
Redis 管道技术:
- Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:
- 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
- 服务端处理命令,并将结果返回给客户端。
- Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。
- 管道技术最显著的优势是提高了 redis 服务的性能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django-redis 使用规范 - Python技术站