一.Redis的配置
1.django的缓存配置
redis在django中的配置
CACHES = {
"session": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1", # 将session设置在1号库中
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"CONNECTION_POOL_KWARGS": {"max_connections": 100}
# "PASSWORD": "123",
}
}
}
2.django中session的配置
在django的settings配置文件中设置, session的存储配置
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'session' # 上面 CACHES 中设置的名称
设置session失效时间,单位为秒(可选)
SESSION_COOKIE_AGE = 60*5
配置完这个2个后,在视图中再设置session,就会自动将session保存在Redis中
二. 视图view中运用
登陆成功后, 设置session即可
request.session["username"]="xxx"
request.session.set_expiry(60 * 60 * 24 * 14) # 设置过期时间为14天后, 单位为秒S
为了方便以后修改过期时间, 建议将过期时间设置在settings文件中,如:
settings.py:
SESSION_COOKIE_AGE = 60 * 60 * 24 * 14
views.py:
from django.conf import settings
request.session.set_expiry(settings.SESSION_COOKIE_AGE)
三.去redis数据库对应存放session的库中查看
如我设置的是1号库 (redis://127.0.0.1:6379/1)
select 1 # 选择对应的库号
keys * # 查看session, 不建议用 key *