您的位置:首页 > 数据库 > Redis

django框架用户权限中的session缓存到redis中

2017-06-08 17:20 621 查看
django框架默认将session保存到数据库中,在高并发访问无疑会影响服务器性能,因此最好将session保存到redis中避免直接从数据库中读取session数据

settings.py中配置如下:

#配置redis
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': '127.0.0.1:6379',
'OPTIONS': {
'DB': 0,
'PASSWORD': 'afc7c7180c3c43b51b1ebfebae76b5e8',
'PARSER_CLASS': 'redis.connection.HiredisParser',
# 'PICKLE_VERSION': 2,
#'CONNECTION_POOL_CLASS': 'redis.ConnectionPool',
'SOCKET_TIMEOUT': 10,
#'CONNECTION_POOL_CLASS_KWARGS': {
#   'max_connections': 2,
# }
},
},
}
SESSION_COOKIE_AGE=30 * 60 #设置session过期时间为30分钟
'''配置session引擎SESSION_ENGINE为redis,配置此处session会存储在redis中,不会再去操作数据库了'''
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'


在登录函数中可以设置session有效期:request.session.set_expiry(30 * 60)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django redis session