在重新启动服务器时,快速4会话不持续 [英] Express 4 Sessions not persisting when restarting server
本文介绍了在重新启动服务器时,快速4会话不持续的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
//会话
app.use(cookieParser ());
app.use(session({secret:some-secret}));
//注册
app.post(/ signup,function(req,res){
create_user(req.body.user,function(err,user_id){
req.session.user_id = user_id;
res.redirect(/ admin);
});
});
当我提交表单时,它将user_id保存到req.session。但是,当我重新启动服务器时,会话就会消失。
为什么不持续?我缺少一些配置?
解决方案
快速会话的默认会话存储是MemoryStore,顾名思义,存储会话仅在内存中。如果您需要持久性,则Express可以使用许多会话存储。一些例子:
- Cookie商店
- Redis商店
- < a href =https://github.com/kcbanner/connect-mongo> MongoDB商店
- CouchDB商店
- Riak商店
- memcached商店
- leveldb商店
- MySQL存储
- PostgreSQL存储
- Firebase商店
I have an Express 4 app setup to have sessions.
// Sessions
app.use(cookieParser());
app.use(session({ secret: "some-secret" }));
// Signup
app.post("/signup", function (req, res) {
create_user(req.body.user, function (err, user_id) {
req.session.user_id = user_id;
res.redirect("/admin");
});
});
When I submit the form, it saves the user_id to the req.session. However, when I restart the server, the session is gone.
Why isn't it persisting? Am I missing some configuration?
解决方案
The default session store for express-session is MemoryStore, which as the name suggests, stores sessions in memory only. If you need persistence, there are many session stores available for Express. Some examples:
- Cookie store
- Redis store
- MongoDB store
- CouchDB store
- Riak store
- memcached store
- leveldb store
- MySQL store
- PostgreSQL store
- Firebase store
这篇关于在重新启动服务器时,快速4会话不持续的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文