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

settings.py中配置如下:

#配置redis
CACHES = {
 'default': {
  'BACKEND': 'redis_cache.RedisCache',
  'LOCATION': '127.0.0.1:6379',
  'OPTIONS': {
   'DB': 0,
   'PASSWORD': 'abxdcfgda',
   '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框架用户权限中的session缓存到redis中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!