Redis 是一个 key-value 存储系统,经常使用于缓存的存储。django-redis 基于 BSD 许可, 是一个使 Django 支持 Redis cache/session 后端的全功能组件.javascript
安装 django-redis 最简单的方法就是用 pip :html
pip install django-redis
为了使用 django-redis , 你应该将你的 django cache setting 改为这样:java
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
为了更好的互操做性并使链接字符串更加 “标准”, 从 3.8.0 开始 django-redis 使用 redis-py native url notation 做为链接字符串.redis
redis://[:password]@localhost:6379/0
rediss://[:password]@localhost:6379/0
unix://[:password]@/path/to/socket.sock?db=0
支持三种 URL scheme :sql
Django 默承认以使用任何 cache backend 做为 session backend, 将 django-redis 做为 session 储存后端不用安装任何额外的 backenddjango
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"
好了,如今链接和配置都已经完成了,那么在项目中该如何使用呢?接下来看下面这段例子吧。json
from django.conf import settings
from django.core.cache import cache
#read cache user id
def read_from_cache(self, user_name):
key = 'user_id_of_'+user_name
value = cache.get(key)
if value == None:
data = None
else:
data = json.loads(value)
return data
#write cache user id
def write_to_cache(self, user_name):
key = 'user_id_of_'+user_name
cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)
经过上面的这两个方法就能够实现对redis的读取操做了,只须要将须要的字段当参数传入到方法中就行了。后端