PHP Distributed Hash Table, Suitable for assisting in finding distributed nodes corresponding to key.
Via Composer
$ composer require yiranzai/hash-dhteasy
$hash = new Yiranzai\Dht\Hash();
$hash->addEntityNode('db_server_one')->addEntityNode('db_server_two');
$dbServer = $hash->getLocation('key_one');You have to cache it and pass it in the next time you use it.
Or use the static::cache I provided.
$hash = new Yiranzai\Dht\Hash();
$hash->addEntityNode('db_server_one')->addEntityNode('db_server_two');
$dbServer = $hash->getLocation('key_one');
Yiranzai\Dht\Hash::cache($hash->toArray());
$hash = new Yiranzai\Dht\Hash(Yiranzai\Dht\Hash::getCache());
$dbServer = $hash->getLocation('key_one');Delete entity node
$hash = new Yiranzai\Dht\Hash();
$hash->deleteEntityNode('db_server_one');default algo is time33, See more support
$hash = new Yiranzai\Dht\Hash();
$hash->algo('sha256');
//or
$hash = new Yiranzai\Dht\Hash(['algo' => YOUR_ALGO]);Change default cache path
$hash = new Yiranzai\Dht\Hash();
$hash->path(YOUR_PATH);
//or
$hash = new Yiranzai\Dht\Hash(['cachePath' => YOUR_PATH]);Please see CHANGELOG for more information on what has changed recently.
$ composer testPlease see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.
