sw::redis::AsyncRedisCluster 第一个参数是节点参数,我的意思是能加多个节点吗 代码怎么写
时间: 2023-12-03 16:43:33 浏览: 117
是的,可以在一个 `AsyncRedisCluster` 对象中添加多个节点。可以使用 `addNode()` 函数来添加节点。这个函数的定义如下:
```c++
void addNode(const std::string& host, unsigned int port, unsigned int timeout, const std::string& password = "")
```
其中,`host` 是节点的 IP 地址或主机名,`port` 是节点的端口号,`timeout` 是连接超时时间(单位为毫秒),`password` 是节点的密码(如果有的话)。
下面是一个示例代码,展示了如何创建一个包含两个节点的 `AsyncRedisCluster` 对象:
```c++
#include <iostream>
#include "sw/redis++/redis++.h"
int main() {
sw::redis::AsyncRedisCluster redisCluster;
// 添加第一个节点
redisCluster.addNode("127.0.0.1", 7000, 5000);
// 添加第二个节点
redisCluster.addNode("127.0.0.1", 7001, 5000);
// 连接 Redis 集群
redisCluster.connect([](const std::string& host, std::size_t port, std::size_t dbIndex) {
std::cout << "Connected to Redis cluster: " << host << ":" << port << ", DB index: " << dbIndex << std::endl;
});
return 0;
}
```
在上面的代码中,我们首先创建了一个空的 `AsyncRedisCluster` 对象,然后使用 `addNode()` 函数添加了两个节点。最后,我们调用 `connect()` 函数连接 Redis 集群。在连接成功后,会调用回调函数输出连接信息。
阅读全文