
redis ring
看代码后会发现,Hash那一章中讲的理论与go-redis中的实际实现也有些差别:理论中rendezvous hash只需在寻找节点时实时计算hash(key, node), 但代码里实际会存一份各个node的hash值以便省去重复计算;理论中rendezvous hash可以自由地扩展、删除节点,但代码里实际希望各节点字段是“read only”。节点挂掉后不会将其从管理的分片中删掉,只是在计算时忽略它的存在。同样地,等节点重启后又可以通过心跳检测将其重新加入计算范围内。





















