“ hiredis”是否支持Redis Sentinel和Redis Cluster?

时间:2019-12-02 23:11:31

标签: redis redis-sentinel hiredis redisclient

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

在Github页面上不清楚-https://github.com/redis/hiredis

1 个答案:

答案 0 :(得分:1)

是和否。

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

但是,由于hiredis没有可与哨兵和集群一起使用的高级API,因此您必须自己完成许多工作。如果您需要高级API,则需要尝试other libraries,例如:

如果您使用C进行编码,则可以尝试使用hiredis-vip,它支持Redis Cluster。但是我不确定它是否支持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;
}