1. ホーム
  2. node.js

[解決済み] MemoryStoreの実運用への活用

2022-09-06 23:21:01

質問

今日、私は初めてNode.jsアプリケーションをquot;production"モードで実行し、この警告を受け取りました。

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、または他のデータベースをインストールするのは過剰なように思われます。また、本当に使用されるべきでないのに、なぜ MemoryStore が Node に含まれているのか理解できません。

どのように解決するのですか?

MemoryStore は (高速) 開発モードのためのもので、アプリが再起動する (プロセスが死ぬ) と、すべてのセッション データ (そのプロセスのメモリに存在したもの) が失われるからです。

データベースを使いたくない場合は、代わりに暗号化されたCookieストレージを使用します。

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