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