操作方法
方法列表
方法名称 | 参数 | 说明 | 备注 |
---|---|---|---|
clusterNodes | 获取集群节点 | ||
clusterAddSlots | $slots | 集群槽位变更,$slots可以为字符串,可以为数组 | |
clusterCountFailureReports | $nodeId | 集群计数失败报告 | |
clusterCountKeySinSlot | $slot | 返回指定的 Redis Cluster 哈希槽中的键的数量。 | |
clusterDelSlots | $slot | 删除一个哈希槽 | |
clusterFailOver | $option = null | 手动故障转移 | |
clusterForget | $nodeId | 删除指定的节点。 | |
clusterGetKeySinSlot | $slot, $count | 返回存储节点中的密钥名称数组,并哈希到指定的哈希槽。 | |
clusterInfo | 集群信息 | ||
clusterKeySlot | $key | 返回key的集群槽 | |
clusterMeet | $ip, $port | 节点连接到工作群集。 | |
clusterReplicate | $nodeId | 集群复制 | |
clusterReset | $option = null | 集群重置 | |
clusterSaveConfig | 强制节点将nodes.conf配置保存到磁盘上。 | ||
clusterSetConfigEpoch | $configEpoch | 在新节点中设置特定的配置时期 | |
clusterSetSlot | $slot, $subCommand, $nodeId = null | 更改接收节点中散列槽的状态 | |
clusterSlaves | $nodeId | 获取从指定主节点复制的从节点列表。 | |
clusterSlots | 返回有关哪些集群插槽映射到哪些 Redis 实例的详细信息。。 | ||
readonly | 启用读取查询以连接到 Redis 群集从属节点。 | ||
readwrite | 禁用与 Redis 集群从属节点的连接的读取查询。 |
基本使用
go(function () {
$redis = new \EasySwoole\Redis\RedisCluster(new \EasySwoole\Redis\Config\RedisClusterConfig([
['172.16.253.156', 9001],
['172.16.253.156', 9002],
['172.16.253.156', 9003],
['172.16.253.156', 9004],
], [
'auth' => '',
'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_PHP
]));
$data = $redis->clusterNodes();
var_dump($data);
$data = $redis->clusterKeySlot('key1');
var_dump($data);
$data = $redis->clusterCountFailureReports(current($redis->getNodeList())['name']);
var_dump($data);
$data = $redis->clusterCountKeySinSlot(1);
var_dump($data);
$data = $redis->clusterFailOver('FORCE');
var_dump($data);
$redis->tryConnectServerList();
$data = $redis->clusterForget(array_column(($redis->getNodeList()), 'name')[0]);
var_dump($data);
$redis->set('a', 1);
$data = $redis->clusterKeySlot('a');
var_dump($data);
$data = $redis->clusterGetKeySinSlot($data, 1);
var_dump($data);
$data = $redis->clusterInfo();
var_dump($data);
$data = $redis->clusterKeySlot('b');
var_dump($data);
$data = $redis->clusterMeet('172.16.253.156', '9005');
var_dump($data);
});
由于集群方法运行较为复杂,需要操作不同的客户端实现某种方法的实例,所以本示例只提供了部分代码,没有全部,可自行调用测试
当前内容版权归 EasySwoole 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 EasySwoole .