Django 之 用redis存储session
方案I:
1. 安装 django-redis
liuqian@ubuntu:~$ pip install django-redis
dango-redis 官方文档:http://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend
2. 配置 settings.py
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "",
# "PARSER_CLASS": "redis.connection.HiredisParser",
# "SOCKET_TIMEOUT": 10,
# "CONNECTION_POOL_CLASS_KWARGS": {
# "max_connections": 2,
# }
}
}
}
SESSION_COOKIE_AGE = 30 * 60 #设置session过期时间为30分钟
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
方案II
1. 安装 django-redis-sessions
liuqian@ubuntu:~$ pip install django-redis-sessions
django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/
2. 配置settings.py
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS = {
'host': 'localhost',
'port': 6379,
'db': 0,
'password': '',
'prefix': 'session',
'socket_timeout': 1
}
注意:
可能会遇到如下错误

只需要在settings.py 中增加下面的设置即可:
SESSION_SERIALIZER='django.contrib.sessions.serializers.PickleSerializer'
redis中查看:

views.py中使用:
# coding:utf-8
from datetime import timedelta from django.shortcuts import render, redirect def login(request):
'''session存redis练习'''
uname = request.session.get('myname') # 获取session的值
if not uname:
return render(request, 'book/login.html')
else:
return render(request, 'book/welcome.html', {'name': uname}) def do_login(request):
name = request.POST.get('username', 'unknow') # 获取session的值,并给默认值
request.session['myname'] = name # 设置session
# 设置过期时间
# 0 浏览器关闭就过期
# int int秒后过期
# timedelta对象 当前时间加上timedelta后过期
# None 永不过期
request.session.set_expiry(timedelta(days=1)) # 设置session过期时间
return redirect('/book/login') def logout(request):
# del request.session['myname'] # 删除session
# request.session.clear() # 清除所有会话
request.session.flush() # 删除当前的会话数据并删除会话的Cookie
return redirect('/book/login')
Django 之 用redis存储session的更多相关文章
- Tomcat 使用Redis存储Session
Tomcat Redis Session Github 地址. 下载 commons-pool2-2.2.jar,jedis-2.5.2.jar,tomcat-redis-session-manage ...
- Asp.net Core 使用Redis存储Session
前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware). 对于Session来说褒贬不一, ...
- Redis存储Session
net Core 使用Redis存储Session 前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(m ...
- redis存储session配制方法
redis存储session配制方法需要三个模块: 1.redis 2.express-session 3.connect-redis 项目中的配置方法代码片段如下: 首先连接redis,连接redi ...
- 几分钟搞定redis存储session共享——设计实现
前面我们写过C#在redis中存储常用的5种数据类型demo,没看过的可以点击电梯直达:https://www.cnblogs.com/xiongze520/p/10267804.html 我们上一篇 ...
- Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...
- Redis使用示例及在PHP环境中用redis存储session
在文件夹redis-3.2.0下 1. 启动redis服务 nohup ./src/redis-server redis.conf & 2. 停止服务 #使用客户端 ./src/redis-c ...
- [转]Asp.net Core 使用Redis存储Session
本文转自:http://www.cnblogs.com/hantianwei/p/5723959.html 前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储 ...
- springboot项目中的普通Session和使用redis存储session
普通session: session store type使用来存放session的存储方式,目前Spring boot中只支持Redis方式, 由于本应用暂无需将session放入redis的需求, ...
随机推荐
- MVC和观察者模式
用观察者模式实现MVC框架! http://wenku.baidu.com/view/eff8bab069dc5022aaea0007.html 写的不错! Observer和ConcreteObse ...
- 凌华AMP-204C卡的CNC功能 即Feeder工具的使用。
Feeder 可以实现一些CNC之类的功能. 不过目前似乎只有两个轴的联动
- 002-mybatis主配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...
- VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)
前面两节为大家讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Control. 树形控件简介 树形控件在Windows系统中是很常见的,例如资源管理器左侧的 ...
- Es+kafka搭建日志存储查询系统(设计)
现在使用的比较常用的日志分析系统有Splunk和Elk,Splunk功能齐全,处理能力强,但是是商用项目,而且收费高.Elk则是Splunk项目的一个开源实现,Elk是ElasticSearch(Es ...
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xbb in position 51: ord
1.问题描述:一个在Django框架下使用Python编写的定时更新项目,在Windows系统下测试无误,在Linux系统下测试,报如下错误: ascii codec can't decode byt ...
- superset可视化不同算法的点击率
1. 首先我们通过superset的SQL Editor来编辑语句,语句没有写完整 2. 得到的结果为: 3. 然后点击Visualize,如图所示: 4. 因为要在图中显示不同算法的点击率,需要把d ...
- 【MDCC 2015】开源选型之Android三大图片缓存原理、特性对比
摘要:这是快的打车移动端架构师.Android 开源项目源码解析codeKK发起人 吴更新(@Trinea)在MDCC上分享的内容,从总体设计和原理上对几个图片缓存进行对比,没用到它们的朋友也可以了解 ...
- Django学习笔记之ORM多表操作
创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关 ...
- oracle数据库中导入Excel表格中的数据
1.点击[工具]-->[ODBC 导入器],如图: 2.在导入器里选择第一个[来自ODBC的数据],用户名/系统DSN-->填写[Excel Files],输入用户名和密码,点击 [连接] ...