当前位置: 首页 > 面试题库 >

重新启动服务器时Express 4会话不持久

雍光远
2023-03-14
问题内容

我有一个Express 4应用程序设置来进行会话。

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

当我提交表单时,它将user_id保存到req.session中。但是,当我重新启动服务器时,会话消失了。

为什么不持续?我是否缺少某些配置?


问题答案:

express-session的默认会话存储是MemoryStore,顾名思义,该存储仅将会话存储在内存中。如果需要持久性,则有许多可用于Express的会话存储。一些例子:

  • cookie
  • Redis
  • MongoDB
  • CouchDB
  • couchdb
  • memcached
  • leveldb
  • MySQL
  • PostgreSQL
  • Firebase


 类似资料:
  • 我在我们的应用程序中使用eclipse milo java OPCUA客户端SDK来实现OPC。我能够创建会话、订阅和监视。它工作正常,但当opc服务器重新启动时,我尝试删除上一个会话并创建一个具有相同参数的新会话,我得到以下异常: UaException:状态=错误超时,消息=等待确认超时 抛出错误的行是: EndpointDescription[]endpoint=客户端。getEndpoin

  • 问题内容: 我有使用Express和Connect中间件的功能齐全的用户注册/身份验证系统。 唯一的问题是,每次执行服务器重新启动时,会话都会中断。 https://github.com/remy/nodemon-并且nodemon每次检测到文件更改时都会重新启动node.js。 如何进行持续性会话? 问题答案: 就像您的代码告诉您正在使用MemoryStore一样。这是易失的,重启后会清除。我建

  • 在每个服务器上创建x会话后,我有2个不同的tomcat服务器(不同的机器),当我重新启动两个服务器时,其中一个保留会话,而另一个没有, -知道为什么吗?-我想和两只雄猫保持通话 谢谢

  • 问题内容: 我想在Docker容器中运行的Nginx中添加/删除服务器 我在Dockerfile中使用ADD命令将我的nginx.conf添加到/ etc / nginx目录中。 然后在我正在运行的nginx容器中有一个像这样的conf 如何重新启动我的Nginx以使已编辑的Nginx.conf生效? 先感谢您! 问题答案: 要重新加载NGINX配置,请运行以下命令 docker kill -s

  • 我正在尝试将php中的更改为。伊尼。我运行了phpinfo()并验证了加载的配置文件(它位于这里:/Library/Application-Support/appsolute/MAMP-PRO/conf/php.ini)。 每次我编辑这个php.ini文件的值并重启我的MAMP服务器时,php.ini文件似乎都会重置。如果我在重启MAMP后再次打开php.ini文件,它会显示。 为什么MAMP会重

  • 我正在使用单节点独立zookeeper运行一个带有zookeeper发现SPI机制的单节点Apache Ignite服务器。 我正在尝试使用下面的发现SPI配置从客户端应用程序连接Ignite服务器,如下所示 请提供在zookeeper重新启动后客户端自动重新连接的配置。