node.js アプリを開発していますが、Redis を大量に使用する必要があります。アプリはcluster
8 つの CPU コアで実行されます。
現在、CPU ごとのすべてのワーカーで複数のモジュールが実行されているため、Redis への同時接続が 100 ありますrequire('redis').createClient()
。
シナリオ A:
file1.js:
var redis = require('redis').createClient();
file2.js
var redis = require('redis').createClient();
シナリオ B:
redis.js
var redis = require('redis').createClient();
module.exports = redis;
file1.js
var redis = require('./redis');
file2.js
var redis = require('./redis');
どちらのアプローチが優れていますか: 導入するすべての新しいファイルに新しい Redis インスタンスを作成する (シナリオ A) か、1 つの Redis 接続をグローバルに作成し (シナリオ B)、この接続をすべてのモジュールで共有します。各ソリューションの欠点/利点は何ですか?
前もって感謝します!