tinson / php-consistent-hash
PHP Consistent Hash Library
v1.0.3
2019-09-26 10:50 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: 5.7.27
This package is auto-updated.
Last update: 2025-03-21 21:40:39 UTC
README
The Project is a PHP Library which implements consistent hash.
Quick Start
# New an instance
# 构建一个实例
$builder = new Builder();
# add server node (server_dsn, server_tag, weight)
# 添加服务器节点
$tag1 = 1;
$tag2 = 2;
$tag3 = 3;
$builder->addServer('host1:6379', $tag1, 1);
$builder->addServer('host2:6379', $tag2, 1);
$builder->addServer('host3:6379', $tag3, 2);
# set virtual node's number. It means that one real server node will be mapping many virtual nodes
# 设置虚拟节点数,表示:1个实际的服务器节点会映射成多个虚拟节点,确保服务器节点可以实现均匀分布
$builder->setVirtualNodeNum(128);
# initialize server nodes, generate virtual nodes array for search
# 初始化服务器节点,生成后续用于查找的虚拟节点数组
$builder->initNodes();
# search the mapping server_tag for input key
# 查询输入key映射的服务器tag标识
$tag = $builder->search("my:hts1");