django:使用redis缓存session

1.修改 settings.py

# 设置redis缓存
CACHES = {
    'default':{
        'BACKEND':'django_redis.cache.RedisCache',
        'LOCATION':'redis://127.0.0.1:6379/9',
        "OPTIONS":{
            "CLIENT_CLASS":"django_redis.client.DefaultClient",
},
    }
}
REDIS_TIME = 7*24*60*60
CUBES_REDIS_TIMEOUT = 60*60
NEVER_REDIS_TIMEOUT = 365*24*60*60

# 设置缓存存储session,此时mysql中的django_session将不再存储session
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 与CACHES中的default对应
SESSION_CACHE_ALIAS = "default"
# session在cookie中的保存时间
SESSION_COOKIE_AGE = 60*30
# 设置session在浏览器关闭时过期
SESSION_EXPIRE_AT_BROWSER_CLOSE = True

2.在redis中进行确认
redis-server:启动redis服务
redis-cli:进入redis客户端
select 9:选择9号库?
keys *:查看所有的键

tarena@tedu:~$ redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> select 9
OK
127.0.0.1:6379[9]> keys *
(empty list or set)
127.0.0.1:6379[9]> keys *
1) ":1:django.contrib.sessions.cache0vvjnf36npwpv4ptihkw03s8kct55acm"

参考:http://www.cnblogs.com/zhaijihai/p/10513389.html

待解决:
1.同一用户重复登陆,无法挤掉上一次的登陆状态
2.确定redis中存储的键值对格式

你可能感兴趣的:(Django)