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

yipeiwu_com6年前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 读取竖线分隔符的文本方法

如下: data = pd.read_csv('20180201.txt',sep = '|',dtype = 'str') 以上代码意思是: 1,读取本工作路径下的2018020...

PyTorch上实现卷积神经网络CNN的方法

一、卷积神经网络 卷积神经网络(ConvolutionalNeuralNetwork,CNN)最初是为解决图像识别等问题设计的,CNN现在的应用已经不限于图像和视频,也可用于时间序列信号...

Python实现迭代时使用索引的方法示例

本文实例讲述了Python实现迭代时使用索引的方法。分享给大家供大家参考,具体如下: 索引迭代 Python中,迭代永远是取出元素本身,而非元素的索引。 对于有序集合,元素确实是有索引的...

Python实现线性判别分析(LDA)的MATLAB方式

Python实现线性判别分析(LDA)的MATLAB方式

线性判别分析(linear discriminant analysis),LDA。也称为Fisher线性判别(FLD)是模式识别的经典算法。 (1)中心思想:将高维的样本投影到最佳鉴别矢...

python去掉 unicode 字符串前面的u方法

有时我们会碰到类似下面这样的 unicode 字符串: u'\xe4\xbd\xa0\xe5\xa5\xbd' 这明显不是一个正确的 unicode 字符串,可能是在哪个地方转码转...