操作方法
方法列表
方法名稱 | 參數 | 說明 | 備注 |
---|---|---|---|
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);
});
由于集群方法運行較為復雜,需要操作不同的客戶端實現某種方法的實例,所以本示例只提供了部分代碼,沒有全部,可自行調用測試