码迷,mamicode.com
首页 > 数据库 > 详细

Django session存储到redis数据库

时间:2018-07-28 21:58:35      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:json序列化   username   adt   redis   分享图片   end   b2c   一个   内存   

把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数据库

标签:json序列化   username   adt   redis   分享图片   end   b2c   一个   内存   

原文地址:https://www.cnblogs.com/jiangshanduojiao/p/9383222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!