out001a/consistent-hash

a consistent hash library implemented by PHP

1.1 2017-06-03 14:07 UTC

This package is auto-updated.

Last update: 2024-04-23 18:47:59 UTC


README

https://packagist.org/packages/out001a/consistent-hash

Usage

$ composer require out001a/consistent-hash
require 'vendor/autoload.php';

use Out001a\ConsistentHash;

$chash = new ConsistentHash('test');

// 增加节点
$chash->addNode('127.0.0.1:80');
$chash->addNode('127.0.0.1:81');
$chash->addNode('127.0.0.1:82');

// 查找字符串哈希到的节点
var_dump('abc -> '.$chash->lookup('abc'));
var_dump('def -> '.$chash->lookup('def'));
var_dump('ghi -> '.$chash->lookup('ghi'));

echo "\n========\n\n";

// 删除某个节点
$chash->removeNode('127.0.0.1:82');

// 再次查找节点
var_dump('abc -> '.$chash->lookup('abc'));
var_dump('def -> '.$chash->lookup('def'));
var_dump('ghi -> '.$chash->lookup('ghi'));