我有一个节点微服务监听一个队列,我将一些消息保存到Redis中(每4-5秒),我不知道哪一个是最好的选择。
我应该保持一个打开的连接到我的Redis,还是最好是打开和关闭连接,每次使用数据库?
发布于 2020-10-23 18:20:35
正如@SergioTulentsev所解释的,最好使用一个连接。
如果您使用的是ioredis,您将被覆盖,因为即使您的客户端被分离,ioredis也将尝试为您重新连接,并且它将有一个内存中的命令qeueu,它将填充到客户端再次连接,然后,ioredis将再次发送所有这些命令。
更多信息
https://github.com/luin/ioredis#offline-queue
如果Redis无法处理命令(在就绪事件之前发送),默认情况下,它将添加到脱机队列中,并在处理时执行。可以通过将enableOfflineQueue选项设置为false来禁用此功能: const =新Redis({ enableOfflineQueue: false });
https://stackoverflow.com/questions/41592930
复制相似问题