操作方法
方法列表
| 方法名稱 | 參數(shù) | 說明 | 備注 |
|---|---|---|---|
| clusterNodes | 獲取集群節(jié)點 | ||
| clusterAddSlots | $slots | 集群槽位變更,$slots可以為字符串,可以為數(shù)組 | |
| clusterCountFailureReports | $nodeId | 集群計數(shù)失敗報告 | |
| clusterCountKeySinSlot | $slot | 返回指定的 Redis Cluster 哈希槽中的鍵的數(shù)量。 | |
| clusterDelSlots | $slot | 刪除一個哈希槽 | |
| clusterFailOver | $option = null | 手動故障轉(zhuǎn)移 | |
| clusterForget | $nodeId | 刪除指定的節(jié)點。 | |
| clusterGetKeySinSlot | $slot, $count | 返回存儲節(jié)點中的密鑰名稱數(shù)組,并哈希到指定的哈希槽。 | |
| clusterInfo | 集群信息 | ||
| clusterKeySlot | $key | 返回key的集群槽 | |
| clusterMeet | $ip, $port | 節(jié)點連接到工作群集。 | |
| clusterReplicate | $nodeId | 集群復(fù)制 | |
| clusterReset | $option = null | 集群重置 | |
| clusterSaveConfig | 強(qiáng)制節(jié)點將nodes.conf配置保存到磁盤上。 | ||
| clusterSetConfigEpoch | $configEpoch | 在新節(jié)點中設(shè)置特定的配置時期 | |
| clusterSetSlot | $slot, $subCommand, $nodeId = null | 更改接收節(jié)點中散列槽的狀態(tài) | |
| clusterSlaves | $nodeId | 獲取從指定主節(jié)點復(fù)制的從節(jié)點列表。 | |
| clusterSlots | 返回有關(guān)哪些集群插槽映射到哪些 Redis 實例的詳細(xì)信息。。 | ||
| readonly | 啟用讀取查詢以連接到 Redis 群集從屬節(jié)點。 | ||
| readwrite | 禁用與 Redis 集群從屬節(jié)點的連接的讀取查詢。 |
基本使用
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);
});
由于集群方法運行較為復(fù)雜,需要操作不同的客戶端實現(xiàn)某種方法的實例,所以本示例只提供了部分代碼,沒有全部,可自行調(diào)用測試