phlib / hashstrategy
PHP 哈希策略库,包括随机、排序、一致性
2.0.0
2021-10-31 08:42 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
README
PHP 哈希策略库,包括随机、排序、一致性
用法
策略
值以特定权重添加到索引中。根据策略和传递给 get() 的哈希 $key
获取。
- 一致性
- 对于给定的
$key
,总是返回相同的值(或值)。 - 使用权重来增加返回值的可能性。
- 对于给定的
- 有序
- 按权重递减的顺序返回值。
- 具有相同权重的值按添加的顺序返回。
- 随机
- 随机选择值。
- 使用权重来增加返回值的可能性。
$pool = new \Phlib\HashStrategy\Consistent(); $pool->add('one'); $pool->add('two'); $pool->add('three'); var_dump($pool->get('hello', 2));
ConfigPool
结合可用的哈希策略和一组配置,提供直接选择要使用的配置的方法,例如在副本集之间进行选择。
$config = [ 'server1' => ['hostname' => 'localhost', 'port' => 11211], 'server2' => ['hostname' => 'localhost', 'port' => 11212], 'server3' => ['hostname' => 'localhost', 'port' => 11213], ]; $hashStrategy = new \Phlib\HashStrategy\Consistent(); $pool = new \Phlib\HashStrategy\ConfigPool($config, $hashStrategy); var_dump($pool->getManyConfigs('some key', 2));
许可证
此软件包是免费软件:您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)任何较新版本。
分发此程序是为了希望它有用,但没有提供任何保证;甚至没有关于适销性或特定用途的隐含保证。有关详细信息,请参阅GNU通用公共许可证。
您应已收到此程序随附的GNU通用公共许可证副本。如果没有,请参阅https://gnu.ac.cn/licenses/。