文档章节

Django 中session的不同存储方式的配置

北方攻城师
 北方攻城师
发布于 2015/07/15 13:39
字数 410
阅读 141
收藏 4

在Django中Session是通过一个中间件管理的。如果要在应用程序中使用Session,需要在settings.py中的MIDDLEWARE_CLASSES变量中加入’django.contrib.sessions.middleware.SessionMiddleware’ 。

Django中的Session有3种存储方式:放在数据库、缓存或者文件系统中,下面分别予以介绍。

1. 将Session存储在数据库中:

如果要将Session存储在数据库中,我们需要将 ’django.contrib.sessions’ 加入到INSTALLED_APPS 变量中。然后运行 manage.py syncdb 在数据库中创建相应的存储Session的数据库表。

2. 将Session存储在缓存中:

如果想获得更好的性能,我们可以将Session保存在缓存中。这里有两种配置方式:一种是设置SESSION_ENGINE 为”django.contrib.sessions.backends.cache” 。这是一种简单配置,Session将之被保存在缓存中,但是不保证Session总是能取到(比如缓存溢出时Session会丢失);另一种方式是设置SESSION_ENGINE 为 “django.contrib.sessions.backends.cached_db”。这种方式下,Session在保存到缓存的同时还会被保存到数据库中,当Django在缓存中找不到Session时,会从数据库中找到。第二种方式会有一点点性能开销,但是安全性和冗余性更好。

3. 将Session存储在文件系统中:

最后一种方式是将Session存储在文件系统中。需要设置SESSION_ENGINE 为”django.contrib.sessions.backends.file”,这时你还需要同时设置SESSION_FILE_PATH 变量,它代表Session文件保存的位置,缺省的设置一般是tempfile.gettempdir(),表示系统的临时目录。这里要确保应用程序对那个目录有读写的权限。

本文转载自:http://blog.csdn.net/clh604/article/details/9186465

北方攻城师
粉丝 13
博文 74
码字总数 12500
作品 0
海淀
程序员
私信 提问
Django 使用会话( sessions )功能

淘宝、天猫、京东等电商网站的出现,让我们足不出户就能购物。在这些网站中,都有一个“购物车”的功能。当我们在不同商品页面将商品加入购物车,然后关闭浏览器。等下次浏览该网站时,我们会...

猴哥Yuri
2018/05/10
0
0
小司机带你学: Django+Xadmin打造在线教育平台[Python2&3通用 ](六)4-10

6-4 用form实现登录-1 上面我们的用户登录的方法是基于函数来做的。本节我们做一个基于类方法的版本。 要求对类的继承有了解。 基础教程中基本上都是基于函数来做的,其实更推荐基于类来做。...

天涯明月笙
2018/01/22
0
0
django 1.8 官方文档翻译: 13-9-1 如何使用会话

如何使用会话 Django 提供对匿名会话的完全支持。其会话框架让你根据各个站点的访问者存储和访问任意数据。它在服务器端存储数据并抽象Cookie 的发送和接收。Cookie 包含会话的ID —— 不是数...

apachecn_飞龙
2015/08/30
0
0
负载均衡集群中的session解决方案

前言 在我们给Web站点使用负载均衡之后,必须面临的一个重要问题就是Session的处理办法,无论是PHP、Python、Ruby还是Java,只要使用服务器保存Session,在做负载均衡时都需要考虑Session的问...

a928154159
2017/09/13
0
0
最新Django2.0.1在线教育零基础到上线教程(六)4-10

演示地址: http://mxonline.mtianyan.cn 教程仓库地址1: https://github.com/mtianyan/DjangoGetStarted 教程仓库地址2: https://github.com/mtianyan/Mxonline2 教程仓库地址3: https://gi......

天涯明月笙
2018/01/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ngrok 外网映射工具

ngrok介绍 许多刚学java web的同学(包括我自己)肯定都非常好奇,如何在外网上访问自己做的项目,跟我们本地访问tomcat有什么区别? 今天就向大家介绍一个非常强大的外网映射工具:ngrok.ngrok可以...

edison_kwok
33分钟前
2
0
Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
今天
4
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
今天
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
今天
1
0
lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部