Redis,每次都是一个新连接vs保持开放连接

时间:2017-01-11 14:02:03

标签: node.js redis

我有一个节点微服务监听队列,我将一些消息保存到Redis(每4-5秒),我不知道哪个是最佳选择。

我应该保持与Redis的开放连接,还是每次使用数据库时最好打开和关闭连接?

1 个答案:

答案 0 :(得分:0)

正如@SergioTulentsev解释的那样,最好使用单个连接。

如果您使用的是ioredis,那么即使您的客户端被拒绝,ioredis也会尝试为您重新连接,并且还会有一个内存中命令qeueu填充,直到客户端再次连接,然后ioredis将再次发送所有这些命令。

更多信息

https://github.com/luin/ioredis#offline-queue

默认情况下,当Redis无法处理命令(在ready事件之前发送)时,它会添加到脱机队列中,并在可以处理时执行。您可以通过将enableOfflineQueue选项设置为false来禁用此功能:

const redis = new Redis({enableOfflineQueue:false});