質問

池尾:そういうふうに考えてい使い方をRedis DB内のC++プログラム?

役に立ちましたか?

解決

Cバインディングのライブラリを使用していますか? C ++ラッパー利用できるどこでもがあるように思えません。

他のヒント

私は、fictorialのRedis-CPLUSPLUSクライアントをフォークのRedisサーバV2.0、追加欠落しているAPIの呼び出しと実装一貫したハッシュにそれが両立させてきました。 STLの近い将来の種類(shared_string、shared_int、shared_set、...)のように使用可能になり、高レベルのクラスの初期の状態もあります。何も生産はまだ準備ができていませんが、提供テストが正常に実行されている: - )

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

https://github.com/brianwatling/redisppする

私はちょうどgithubの上の私のC ++のRedisクライアントをリリースしました。それは今の主な特徴だ私はおそらく次/一貫性のあるハッシュをシャーディング、よりすぐに備えて追加されます、パイプライン化されます。

公式のリストのC++用クライアントのインストール

完全なリストRedis C++用クライアントのインストールにredis.io.だが異なる顧客に基づく向上、Qt。ご注意この時期にはC++のクライアントの実装について"としてお勧めです。" がありおすすめのCア hiredis, るべき仕事は、イブレア城、イブレア大C++.

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

少数の人々が実際のRedisと通信するためにC ++を使用して、このC ++クライアントライブラリは、しかし、維持されていません。

https://github.com/petrohi/hiredisppする

またhiredisppをチェックしてください。それははるかにCベースのhiredisを包む完全な、しかし非常に単純な実装からです。 Hiredisは、低レベルのプロトコルの世話をしてhiredisppラッパーはちょうどそれがC ++フレンドリーにしながら、ものをネットワーキングます。

書いたC++Redisクライアント: redis-プラス-プラス.くす hiredis, やC++で記述され11.では以下の特長:

  • ほとんどのコマンドのためのRedis.
  • 接続プールがあります。
  • Redisソフトウェアです
  • スレッドに対して安全な記載しています。
  • Redis publish/subscribe.
  • Redis。
  • Redis。
  • Redis。
  • Redisセンチネル.
  • Redisストリームです。
  • 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する

これは素敵なC ++のクラス、高可用性、接続プーリングやパターン、すでに実装され、使用する準備ができてのセットで、hiredisのラッパーです。

は、パフォーマンスを気にする場合は、 bredis の試してみてください。これは、C ++ 14とboost::asioを使用しない他の依存性(すなわち無hiredislibev等)を有しています。その使用量は、他のC ++ライブラリほど便利ではないかもしれないが、それは、性能と最大限の柔軟性のための設計によるトレードオフでした。

それはhiredis依存性を持っていないとして、Windows上で使用する

bredis をはるかに簡単。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top