session放数据库里解决丢失的问题

Posted 飘然离去

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session放数据库里解决丢失的问题相关的知识,希望对你有一定的参考价值。

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

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

Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。

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

哎,以前的系统session总是莫名其妙的丢失,放服务器进程里也不行。

老是丢失,然后客户端就无缘故的退出了。你设置session时间为1个小时也不行。

最后无奈,把session放数据库里了。哈,问题解决了。

用了1个星期了暂时没客户反映出问题。

也许每个人的需求不同吧,但是我仍旧觉得session放数据库里保险。


**************************
可以放Mongo也可以放redis里边。

放redis里边的比较多。

node中在express session中,我们通常放入redis中就可以了,剩下的他帮我们自己自动管理。销毁等等。

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

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} );

以上是关于session放数据库里解决丢失的问题的主要内容,如果未能解决你的问题,请参考以下文章

急急 急!在asp管理后台当中,设置session值,各几分钟就会丢失,怎么解决啊。 求助!

登录超时session丢失

跨域时session丢失问题的解决

mq如何保证高可用,解决重复消费、数据丢失问题和顺序性问题

ajax跨域session丢失问题

跨域请求,关于后端session会话丢失的解决办法