Django配置Session的3种存储方法

el/2024/7/17 21:23:35

在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://www.ngui.cc/el/5557148.html

相关文章

Django session 详解

Django中的session是一个高级工具,它可以让用户存储个人信息以便在下次访问网站中使用这些信息。session的基础还是cookie,但是它提供了一些更加高级的功能。请看下面的一个例子: 使用session: 这个例子中实现了一个简单的计数功…

python的os模块fork、wait、system、exec、popen、exit函数讲解

虽然进程可在单独的内存空间中执行,但除非这些Python进程在单独的处理器上执行,否则,实际并不是“同时”运行的。是由操作系统把处理器的时间片分配给一个进程,用完 时间片 后就需退出处理器等待另一个时间片的到来。 另一种方式…

Python:OS 模块 -- 进程管理

原文链接:http://www.cnblogs.com/now-fighting/p/3534847.html 建议查看原作者原文。 这里我们介绍os模块中的进程管理相关的操作。 os模块提供给了我们访问操作系统功能的接口,我们可以通过os模块提供给我们的进程管理接口,编写多进程程…

Ubuntu下怎么安装openjdk

方法/步骤 1 ubuntu使用的是openjdk,我门要首先找到适合的jdk版本。 2 在终端输入命令:apt-cache search openjdk 3 从搜索的列表里找到我们需要安装的jdk版本 4 执行安装命令:sudo apt-get install openjdk-7-jdk 5 注意openjdk-7-jdk就是我…

linux shell 解读 “永久环境变量” “临时环境变量”和普通变量

一. 永久环境变量(实际上属于文件, 而不属于shell, 每打开一个shell, 都会加载/导入到shell中, 形成当前shell的临时环境变量) 先说说"永久环境变量", 其实, 我也知道, 没有什么东西是…

SQL左连接、右连接、笛卡尔积的表现形式

表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 2006032401 2 2006032402 3 2006032…

Shell脚本中执行sql语句,操作mysql数据库

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下…

django get_object_or_404

django get_object_or_404 是django shortcuts模块里面一个比较简便的方法,特别是用django get来操作数据库的时候,可以帮 我们少写一些代码,加快开发速度。 get_object_or_404的介绍: 我们原来调用django 的get方法,…

sql语句每个关键字的执行顺序

SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产…

Linux下进程在后台可靠运行(nohup/)和前后台运行程序切换

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口、网络断开连接的干扰呢? 下面举了一些例子&…