2017-08-28 7 views
1

私はサーバレスのキャッシュサービスを統合しようとしています。サーバレスに赤を統合

私はredisに行くことに決めました。しかし、npm redisを読むことによって、要求を完了した後にclient.quit()に電話する必要があるようです。

サーバーレスの方法は、インスタンスが生成され、使用されていないときに削除されるということです。そこで、サーバーレスのインスタンスが削除されているときにredis接続を終了する方法があるかどうか疑問に思っていました。

または、実際にはすべての要求に対して接続を開始するだけで済み、各要求が完了する前に接続を終了する必要があるかどうか。

リクエスト状態の代わりにアプリ状態でやりたいと思っていました。そうすれば、非常に多くの接続を生成する必要はありません。

答えて

0

いいえ接続は再利用できました。すべての要求に対して新しい接続を開始する必要はありません。

redis.creatClient()を使用して接続を作成する場合、この接続は常にアプリで使用できます。また、接続が壊れている場合は、再接続のメカニズムがあります。だからあなたのアプリケーション開発では、接続の問題を気にする必要はありません、ちょうどグローバル接続を取得し、常にそれを使用してください。

+0

私は 'client.quit()'を全く呼び出す必要はありませんか? これを呼び出さないと読んだところから、接続を閉じることはできません。 –

+0

はい、client.quit()を呼び出さないと接続を終了しません。しかし、なぜclient.quit()を呼び出すと、あなたのアプリが実行されていて、依然としてこのクライアントがredisにコマンドを送信する必要がありますが、依然としてこの接続が必要です。だからあなたのアプリが実行されているときに、それはredisへの接続を保持しています、あなたはそれを行うためにこのクライアントを使用して、redisにコマンドを送信するたびに。リクエストごとにクライアントを作成すると、大きなコストがかかります。 – GuangshengZuo

+0

クライアントをグローバル変数に設定する必要があります。コード内のどこでも使用できます。 – GuangshengZuo

関連する問題