ch 宝石是另一个一致的哈希库,使用AVLTree实现。该库允许节点在多个位置插入,并可在特定位置插入节点以进行更精细的控制。

安装: 将此行添加到应用程序的 Gemfile 中:


gem 'ch'

然后执行:


$ bundle

或者自己安装:


$ gem install ch

用法:


require 'ch'

ring = ConsistentHashing::Ring.new

# 添加节点

ring.add_node('127.0.0.1:6379')

# key 102336333644841978549106395032298540172546507605

ring.add_node('127.0.0.1:6380')

# key 455838294994277