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

yipeiwu_com5年前Python基础

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中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python语言进阶知识点总结

Python语言进阶知识点总结

数据结构和算法 算法:解决问题的方法和步骤 评价算法的好坏:渐近时间复杂度和渐近空间复杂度。 渐近时间复杂度的大O标记: - 常量时间复杂度 - 布隆过滤器 / 哈希存储 - 对数时间复...

解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享

解决方案 搜了一下,找到一个 Linux 下的解决方案,如下所示: 复制代码 代码如下: Sublime Text2 运行pySide/pyQt程序的问题 Ctrl-B后,界面不会弹出来...

跟老齐学Python之编写类之二方法

跟老齐学Python之编写类之二方法

数据流转过程 除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子: 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 cl...

简单了解python中的f.b.u.r函数

简单了解python中的f.b.u.r函数

这篇文章主要介绍了简单了解python中的f.b.u.r函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 f/format() 格式...

python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等

python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等

相信大家都做过九宫格的游戏,规则是要求填数字1-9在九个方格内,使横竖斜相加和相等。只填九个那可能有些简单,但是填25个,填49个,81个等奇数个那,这时候就要求我们去找其中的规律。找到...