在 Redis 集群教程中,指出
"一个认真的客户端能够做得更好,并在哈希槽和节点地址之间缓存映射,以直接使用正确的连接到正确的节点。仅当群集配置发生更改时,才会刷新映射,例如在故障转移之后或系统管理员通过添加或删除节点更改群集布局之后。
ioredis是否缓存哈希槽和节点地址之间的映射?
是的,ioredis会为您缓存插槽并处理moved
和ask
错误以更新插槽缓存。
相关代码在这里:
https://github.com/luin/ioredis/blob/master/lib/cluster/index.js#L387-L398