我正在开发一个 node.js 应用程序,我需要大量使用 Redis。该应用程序将cluster
在 8 个 CPU 内核上运行。
现在我有 100 个到 Redis 的并发连接,因为每个 CPU 的每个工作人员都有几个正在运行的模块require('redis').createClient()
。
情景一:
文件 1.js:
var redis = require('redis').createClient();
文件2.js
var redis = require('redis').createClient();
场景 B:
redis.js
var redis = require('redis').createClient();
module.exports = redis;
文件1.js
var redis = require('./redis');
文件2.js
var redis = require('./redis');
哪种方法更好:在我引入的每个新文件中创建新的 Redis 实例(场景 A)或在全局范围内创建一个 Redis 连接(场景 B)并在我拥有的所有模块之间共享此连接。每种解决方案的缺点/优点是什么?
提前致谢!