集群相关方法

方法列表

方法名称 参数 说明 备注
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 集群从属节点的连接的读取查询。

实例

  1. go(function () {
  2. $redis = new \EasySwoole\Redis\RedisCluster(new \EasySwoole\Redis\Config\RedisClusterConfig([
  3. ['172.16.253.156', 9001],
  4. ['172.16.253.156', 9002],
  5. ['172.16.253.156', 9003],
  6. ['172.16.253.156', 9004],
  7. ], [
  8. 'auth' => '',
  9. 'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_PHP
  10. ]));
  11. $data = $redis->clusterNodes();
  12. var_dump($data);
  13. $data = $redis->clusterKeySlot('key1');
  14. var_dump($data);
  15. $data = $redis->clusterCountFailureReports(current($redis->getNodeList())['name']);
  16. var_dump($data);
  17. $data = $redis->clusterCountKeySinSlot(1);
  18. var_dump($data);
  19. $data = $redis->clusterFailOver('FORCE');
  20. var_dump($data);
  21. $redis->tryConnectServerList();
  22. $data = $redis->clusterForget(array_column(($redis->getNodeList()), 'name')[0]);
  23. var_dump($data);
  24. $redis->set('a', 1);
  25. $data = $redis->clusterKeySlot('a');
  26. var_dump($data);
  27. $data = $redis->clusterGetKeySinSlot($data, 1);
  28. var_dump($data);
  29. $data = $redis->clusterInfo();
  30. var_dump($data);
  31. $data = $redis->clusterKeySlot('b');
  32. var_dump($data);
  33. $data = $redis->clusterMeet('172.16.253.156', '9005');
  34. var_dump($data);
  35. });

::: warning 由于集群方法运行较为复杂,需要操作不同的客户端实现某种方法的实例,所以本示例只提供了部分代码,没有全部,可自行调用测试 :::