2017-10-15 7 views
2

Node.js/Expressでsession_start()と$ _SESSIONと同等のものを探して、現在のユーザのIDをセッションに入れようとしています。ほぼすべてのビデオ/チュートリアルでは、表現・セッションを使用していますが、私はそれを読ん:

は、デフォルトのサーバー側のセッションストレージ、MemoryStoreは、 意図的に本番環境用に設計されていません警告します。ほとんどの条件下では メモリがリークし、単一のプロセスを超えてスケ​​ールされません。 はデバッグと開発を目的としています。

これを達成するために特定のモジュールが必要ですか?

答えて

1

セッションを保存できるデータベースにexpress-sessionを接続する必要があります。 https://github.com/expressjs/session#compatible-session-stores

MongoDBを使用するのが一般的ですが(https://github.com/jdesboeufs/connect-mongo)、上記のリストにあるモジュールを使用できます。

+0

私は現在自分のデータベースにMySQLを使用していますが、私が記事で言ったように、明示セッションは本番環境用に設計されていないことを読んでいます。 – Bobimaru

+0

いいえ、express-sessionのデフォルト設定は本番環境用ではありません。デフォルトでは、express-sessionはセッションをメモリに保存するだけです。セッションをMySQLに保存する必要があります。したがって、 'express-mysql-session'(' https://www.npmjs.com/package/express-mysql-session) 'を' express-session'と併用してください。それは生産のためにうまくいくでしょう。 – tfogo

+0

あなたが見る警告はちょうど「ちょっと、明示的なセッションでこのリストから何かを使っているはずです:https://github.com/expressjs/session#compatible-session-stores」と言っています。 – tfogo

関連する問題