Django session存储到redis数据库
把session存储到redis数据库,需要在setting中配置
django-redis 中文文档
http://django-redis-chs.readthedocs.io/zh_CN/latest/#cache-backend
在使用django1.6+的时候,默认会吧session存放在数据库django_session表里。
如果要把session放在内存中,就应该在settings.py 中配置
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
使用的时候:
新增:request.session["userName"] = "Tom"
查询:name = request.session["userName"]
删除:del request.session["userName"]
好,那更复杂一点的数据该如何存储呢:比如一个对象Student。
按照其他语言的习惯,比如java和C#,按理说应该是:
stu = Student(name="Tom",age = 12)
新增:request.session["user"] = stu
查询:stu = request.session["user"]
删除:del request.session["user"]
存放对象的时候,如果session是存放在内存中,那么是没有问题的。但是一旦存放在数据库中就不行了。
为何?
因为存放在数据库中的东西,是需要能够进行json序列化的。
Student是不能被序列化json的。需要把Student转换为字典,没错,是字典。
{“name”:“Tom”,“age”:12}
这样才能存放在数据库session中。
原文地址: https://blog.csdn.net/shilei123456789666/article/details/79116271
Django session存储到redis数据库的更多相关文章
- 将 flask 中的 session 存储到 SQLite 数据库中
将 flask 中的 session 存储到 SQLite 数据库中 使用 flask 构建服务器后端时,常需要在浏览器端存储 cookie 用于识别不同用户,根据不同的 cookie 判断出当前请求 ...
- php session 存储到redis
PHP 的会话默认是以文件的形式存在的,可以配置到 NoSQL 中,即提高了访问速度,又能很好地实现会话共享,,,爽歪歪! 配置方式如下: 方法一:修改 php.ini 的设置 1 2 session ...
- shiro-redis实现session存储到redis
shiro-redis开源项目已经很好的将shiro与redis整合到一起,实现了将session存入redis,可以方便的用于session共享实现集群部署. git地址:https://githu ...
- Django框架中session存储到redis中的配置
本文链接:https://blog.csdn.net/linqunbin/article/details/94786313————————————————版权声明:本文为CSDN博主「linqunbi ...
- 配置 PHP 的 Session 存储到 Redis
PHP 的会话默认是以文件的形式存在的,可以配置到 NoSQL 中,即提高了访问速度,又能很好地实现会话共享,,,爽歪歪! 配置方式如下: 方法一:修改 php.ini 的设置 session.sav ...
- php Session存储到Redis的方法
当然要写先安装php的扩展,可参考这篇文章:Redis及PHP扩展安装 修改php.ini的设置 复制代码 代码如下: session.save_handler = redis session.sav ...
- PHP系列 | Session 存储在Redis
默认是文件存储 修改php.ini的设置 session.save_handler = redis session.save_path = “tcp://127.0.0.1:6379″ 如果Redis ...
- PHP如何配置session存储在redis
当网站用户量增多的时候,正常的session存取就会出现有点慢的问题,如果提高速度呢. 我们可以使用redis去保存session的会话信息. PHP的会话默认是以文件的形式存在的,可以配置到NoSQ ...
- PHP 更改session存储方式为Redis
前言: 服务器默认的session存放方式是file.当客户端发送请求带有PHPSESSID时是顺序的去比对session存储文件,如果有5000个session文件,那就有可能需要比对4998次那么 ...
随机推荐
- 保护模式.vbs
Sub Main Dim cnt Dim delay delay = 10000 For cnt = 0 To 80 crt.screen.Send "interface optical-r ...
- linux CentOS 安装 nginx
官方网址:http://nginx.org/en/download.html 一.安装基础组件 yum install gcc-c++ yum install pcre yum install pcr ...
- mysql-cluster集群配置
环境: centos7:192.168.1.16,192.168.1.170 mysql-cluster-community-7.6.8-1.el7.x86_64.rpm-bundle.tar 安装: ...
- dlib编译成静态库及被其它程序调用
一.git下载:https://github.com/davisking/dlib 官网:http://dlib.net/ 二.vs中编译成静态库 1.在vs2015中创建静态库工程(vs2015以上 ...
- 第一编,漫漫长征路,第一天学习python
安装之后,出现 api-ms-win-crt-runtimel1-1-0.dll缺失 还在解决中 重装系统后,安装成功 python的种类: javapython cpython pypy
- mysql--表数据操作
查询: 简单查询 ####查询的字段必须在表中存在 #### 对查询出来的数据进行修改时,不会修改原来的数据,只是修改了可视化的,我们看到的数据. # 查一个数据 select 字段名 from 表名 ...
- 常用的 jQuery 事件
$(document).ready(): $(document).ready() 方法允许我们在文档完全加载完后执行函数. click(): click() 方法是当按钮点击事件被触发时会调用一个函数 ...
- iOS的签名机制
1.从keychain里“从这证书颁发机构请求证书”,这样就在本地生成了一对公私钥,保存的CertificateSigningRequest就是公钥,私钥保存在本地电脑里. 2.苹果自己有一对固定的公 ...
- what's the 白盒测试
what's the 白盒测试 白盒测试又称结构测试.透明盒测试.逻辑驱动测试或基于代码的测试.盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的.白盒要考虑测试 ...
- linux服务器情况
查看Linux 进程命令 ps -aux 或者ps -ef linux 进程很多 如果需要查找某一个进程可以使用 管道和grep命令 Linux下常用命令 grep 匹配字符 ps 查询Li ...