2012-03-24 7 views
16

NODE_ENV=productionを使用しているときに私は騒々しい警告を受けています。これに対する修正は何ですか?connection.sessionの問題を修正する方法

警告:connection.session()は
メモリリーク、明らかに単一のプロセス内で動作するようにMemoryStoreは、本番環境のために設計さ
ありません。

+0

あなたのコードは何ですか? – Mustafa

+2

この答えを見てみましょう: [http://stackoverflow.com/questions/10760620/using-memorystore-in-production#10761522][1] [1]:のhttp: //stackoverflow.com/questions/10760620/using-memorystore-in-production#10761522 –

答えて

8

セッションマネージャーとしてRedisを使用することをお勧めします。 ExpressまたはConnectのフレームワークのいずれかを使用しているかのように見えますが、どちらの場合でもnpmパッケージconnect-redis(Redisがインストールされています)を使用できます。これをインストールすると、エクスプレスコードは次のようになります。

var express = require ('express') 
    , RedisStore = require ('connect-redis') (express) 
    , sessionStore = new RedisStore() 
    , app = express.createServer() 
    ; 

app.configure (function() { 

    app.use (express.cookieParser()); 
    app.use (express.session ({ 
    secret: "keyboard cat", store: sessionStore, key: 'hello.sid' 
    })); 
... 
+0

セッションストアにRedisが使用されました。しかしここで私は管理者認証のためだけに必要です。だからこそ私は単純な解決策を探しています –

+2

@GaneshKumarこれ[そう質問](http://stackoverflow.com/questions/8749907/what-is-a-good-session-store-for-a-single-host- node-js-production-app)は、具体的にあなたの問題を扱います。おそらく、データベースの代わりに、リンクされた質問に記載されている安全なクッキールートを探索したいかもしれません。 –

+0

thanks audio.zoom –

関連する問題