什么是最好的方式来使用一个穿红衣DB在C++的程序?

有帮助吗?

解决方案

使用 C绑定库?似乎没有为C ++包装可在任何地方。

其他提示

我已付出了fictorial redis的-CPLUSPLUS客户端,使其对Redis的服务器2.0版,添加缺少的API调用和执行一致性哈希兼容。 也有高层次类,这将是可用好像在不久的将来STL类型(shared_string,shared_int,shared_set,...)的早期状态。没有什么是生产准备好了但在提供的测试成功地运行: - )

http://github.com/mrpi/redis-cplusplus-client

https://github.com/brianwatling/redispp

我刚刚发布我的C ++ Redis的GitHub上的客户端。它现在是流水线操作,我会加入更多功能很快,有可能在下一个分片/一致性哈希。

的主要特点

<强> C ++客户官方列表

探索一个的完整列表在redis.io Redis的C ++客户>。你会发现有不同的客户端基于升压,Qt的,等等。注意,此时没有任何的C ++客户端实现被标记为“推荐”。但是有一个推荐的C客户机, hiredis ,该应用C工作得很好++

http://github.com/fictorial/redis-cplusplus-client

此C ++客户端库不然而保持为几个人实际使用C ++与Redis的通信。

https://github.com/petrohi/hiredispp

还检查了hiredispp。这还远远没有完成,但非常简单的实现,围绕基于C hiredis套。 Hiredis照顾低级协议的和网络的东西而hiredispp包装只是使它C ++友好。

我写了一C++穿红衣的客户: 穿红衣-加-加.这是基于 hiredis, 和C++编写11.它支持以下特点:

  • 大多数命令穿红衣的.
  • 连接池。
  • 穿红衣脚本。
  • 线的安全,除非另有说明。
  • 穿红衣布/订阅。
  • 穿红衣的管道。
  • 穿红衣的交易。
  • 集群.
  • 穿红衣的前哨.
  • 穿红衣流。
  • STL样的接口。
  • 通用命令的接口。

这是非常快的和容易使用。如果你有任何问题与这个客户,感到自由 让我知道.如果你喜欢它,也感觉到自由 它的明星 :)

#include <sw/redis++/redis++.h>
using namespace sw::redis;

try {
    Redis redis("tcp://127.0.0.1:6379");

    redis.set("key", "val");
    auto val = redis.get("key");
    if (val) {
        // dereference val to get the value of string type.
        std::cout << *val << std::endl;
    }   // else key doesn't exist.

    redis.rpush("list", {"a", "b", "c"});
    std::vector<std::string> list;
    redis.lrange("list", 0, -1, std::back_inserter(list));

    // put a vector<string> to Redis list.
    redis.rpush("another-list", list.begin(), list.end());

    auto tx = redis.transaction();

    auto tx_replies = tx.incr("num0")
                        .incr("num1")
                        .mget({"num0", "num1"})
                        .exec();

    auto redis_cluster = RedisCluster("tcp://127.0.0.1:7000");

    // RedisCluster has similar interface as Redis.
    redis_cluster.set("key", "value");
    val = redis_cluster.get("key");
} catch (const Error &err) {
    // error handling.
}

检查 doc 对于细节。

另一C ++客户端可以在这里找到: https://github.com/luca3m/redis3m

这是hiredis的一个包装,漂亮的C ++类,一个高可用性连接池和一组已经实现,并且准备好利用模式。

如果您关心性能,给出了一个尝试 bredis 。它使用C ++ 14和boost::asio并且具有不依赖其他(即,没有hiredis也不libev等)。它的用法可能是因为方便而不是其他的C ++库,但那是权衡在性能和最大的灵活性着想的设计。

bredis 更容易在Windows上使用,因为它没有hiredis依赖。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top