1

'hiredis' 是 Redis 的简约 C 客户端。有谁知道它是否支持 -

从它的 Github 页面上并不清楚 - https://github.com/redis/hiredis

4

1 回答 1

2

是和否。

由于您可以使用 向 Redis 发送任何命令hiredis,因此您可以从 Redis Sentinel 获取主/从信息,或从 Redis Cluster 获取插槽信息。因此hiredis可以与 Redis Sentinel 和 Redis Cluster 一起使用。

但是,由于hiredis没有高级 API 来处理哨兵和集群,您必须自己做很多工作。如果您需要高级 API,则需要尝试其他库,例如:

如果您正在使用 编码C,您可以尝试使用hiredis-vip,它支持 Redis 集群。但我不确定它是否支持 Redis Sentinel。

如果你用 编码C++,你可以试试redis-plus-plus,它同时支持 Redis Cluster 和 Redis Sentinel,并且有类似 STL 的接口。

声明:我是redis-plus-plus的作者。

// Example on redis-plus-plus

#include <sw/redis++/redis++.h>

try {
    auto cluster = RedisCluster("tcp://127.0.0.1:7000");
    cluster.set("key", "val");
    auto val = cluster.get("key");
    if (val) cout << *val << endl;
} catch (const Error &e) {
    cerr << e.what() << endl;
}
于 2019-12-03T01:19:20.477 回答