title: Redis coroutine client meta:
- name: description content: Redis coroutine client, implemented by swoole coroutine client, covering redis 99% method
- name: keywords content: swoole|swoole extension|swoole framework|EasySwoole redis| Swoole redis coroutine client|swoole Redis|redis coroutine
Cluster related methods
Method list
Method name | Parameter | Description | Notes |
---|---|---|---|
clusterNodes | Get cluster nodes | ||
clusterAddSlots | $slots | The cluster slot is changed. $slots can be a string and can be an array. | |
clusterCountFailureReports | $nodeId | Cluster count failure report | |
clusterCountKeySinSlot | $slot | Returns the number of keys in the specified Redis Cluster hash slot. | |
clusterDelSlots | $slot | Delete a hash slot | |
clusterFailOver | $option = null | Manual failover | |
clusterForget | $nodeId | Delete the specified node. | |
clusterGetKeySinSlot | $slot, $count | Returns an array of key names in the storage node and hashes to the specified hash slot. | |
clusterInfo | Cluster information | ||
clusterKeySlot | $key | Return the cluster slot of the key | |
clusterMeet | $ip, $port | The node is connected to a working cluster. | |
clusterReplicate | $nodeId | Cluster replication | |
clusterReset | $option = null | Cluster reset | |
clusterSaveConfig | Force the node to save the nodes.conf configuration to disk. | ||
clusterSetConfigEpoch | $configEpoch | Set a specific configuration period in the new node | |
clusterSetSlot | $slot, $subCommand, $nodeId = null | Change the state of the hash slot in the receiving node | |
clusterSlaves | $nodeId | Gets a list of slave nodes copied from the specified master node. | |
clusterSlots | Returns details about which cluster slots are mapped to which Redis instances.。 | ||
readonly | Enable read queries to connect to Redis cluster slave nodes. | ||
readwrite | A read query that disables connections to Redis cluster slave nodes. |
Instance
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);
});
::: warning Because the cluster method is more complicated and needs to operate different clients to implement an instance of a certain method, this example only provides some code, not all, you can call the test yourself. :::