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-redis  使用规范

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 服务的性能。