const redis = require('redis');
module.exports = function redisClientConfig(app) {
const redisClient = redis.createClient(app.get('redis-config'));
redisClient.on('connect', () => {
app.redisClient = redisClient;
});
};
此函数只被调用一次,但它会导致内存泄漏。
我的直觉是每次事件发生时
app.redisClient
都会变成redisClient
。这部分让我困惑。有人能再给我解释一下吗? 最佳答案
createClient
模块中的redis
函数同步返回客户机,因此不需要等待connect
事件。您可以直接从createClient
对象上的app
函数设置返回的客户机。如果内存泄漏实际上是由这个函数引起的,那么应该可以解决这个问题。