'hiredis'是否支持 Redis Sentinel 和 Redis Cluster?



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

  • Redis Sentinel(Redis 的官方高可用性解决方案(https://redis.io/topics/sentinel
  • 和 Redis 集群 https://redis.io/topics/cluster-tutorial

从其Github页面中不清楚 - https://github.com/redis/hiredis

是和否。

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

但是,由于hiredis没有高级 API 来处理 sentinel 和集群,因此您必须自己完成许多工作。如果您需要高级 API,则需要尝试其他库,例如:

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

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

Declaimer:我是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;
}

相关内容

  • 没有找到相关文章

最新更新