一尘不染

在生产中使用MemoryStore

node.js

今天,我第一次在“生产”模式下运行Node.js应用程序,并收到以下警告:

Warning: connection.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and obviously only work within a single process.

我只需要运行一个进程,但是应该使用什么呢?我希望我的会话驻留在RAM中以便快速访问。我还希望能够通过仅关闭Node应用程序来丢弃所有会话。

仅安装Redis,MongoDB或其他数据库来完成此简单任务似乎是过大的选择。我也不明白为什么不应该真正使用Node中包含MemoryStore?


阅读 240

收藏
2020-07-07

共1个答案

一尘不染

MemoryStore仅用于(快速)开发模式,因为如果您的应用程序重新启动(进程终止),您将丢失所有会话数据(驻留在该进程的内存中)。

如果您不想使用数据库,请改用加密的cookie存储。

http://www.senchalabs.org/connect/cookieSession.html

2020-07-07