node中session的管理

请看这个博客:   http://spartan1.iteye.com/blog/1729148

我自己的理解

session俗称会话。

第一次访问服务器的时候由服务器创建,相当于一个cookie(就是),key为sessionid之类的名字。

每次http请求的时候,会取出来与数据库中保存的session列表,对比找出相同的那个,然后找出这个req.session的user或者爱好之类的属性的信息。

Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

session有自己的设置方式和销毁的方式,一般情况下connect-redis(session)会帮助我们管理,这个我们不需要关心。

如果你还不理解:请查看这篇博客:http://ourjs.com/detail/54b72644232227083e00000a

参数的设置:

miss lei的项目中:

var session = require('express-session');

var RedisStore = require('connect-redis')(session);

store: new RedisStore(conf.SESSION_REDIS),

SESSION_REDIS:{
port: 6379,
//port: 6379,
//host: '127.0.0.1'
host: '10.150.160.136'
},

只给了数据库的ip和端口。

而在miss shen的项目中:

var session = require('express-session');
var RedisStore = require('connect-redis')(session);

options.store = new RedisStore( {retry_max_delay: 5000, max_attempts: 3} );

************************************
************************************

当然了可以放redis中,也可以放mongo中,我们放在redis中的比较多。

原文地址:https://www.cnblogs.com/coding4/p/5581273.html