redis缓存session
tag:django,redis,session
1.配置redis缓存
# 缓存
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': ['redis://127.0.0.1:6379/0'], //地址
'KEY_PREFIX': 'django1901', //前缀名
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient',
'CONNECTTON_POOL_KWARGS': {
'max_connections': 128,
},
'PASSWORD': '1qaz2wsx',
},
},
'mobile': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': ['redis://39.98.242.43:6379/1'],
'KEY_PREFIX': 'django1901:code',
'OPTIONS': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient',
'CONNECTTON_POOL_KWARGS': {
'max_connections': 128,
},
'PASSWORD': '1qaz2wsx',
},
}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'default' //默认数据库
SESSION_COOKIE_AGE = 86400 //默认超时时间
2 使用
用户session
存入
request.session['captcha'] = captcha_text
取出
captcha_sess = request.session.get('captcha', '')
自定义cache
- caches/cache
使用默认的缓存只支持基本的set get
from django.core.cache import caches, caches
# 设置
caches['mobile'].set(tel, code, timeout=300) # 使用mobile缓存
cache.set(tel,code,timeout=300) # 使用默认的缓存
# 读取
code_from_cache = caches['mobile'].get(tel) # 通过tel读取缓存内容
全功能
- get_redis_connection
全功能(可以使用redis的所有功能)
from django_redis import get_redis_connection
get_redis_connection("default").flushall() #清除所有数据
redis_cli = get_redis_connection(alias='mobile')
使用redis_cli.来执行redis命令