복붙노트

[REDIS] 어떻게 C ++ 프로그램 내에서 레디 스를 사용 하는가?

REDIS

어떻게 C ++ 프로그램 내에서 레디 스를 사용 하는가?

C ++ 프로그램 내에서 레디 스 DB를 사용하는 가장 좋은 방법이 있을까요?

해결법

  1. ==============================

    1.는 C 바인딩 라이브러리를 사용하십니까? 가능한 어디에서나 래퍼는 C ++이있을 것 같지 않습니다.

    는 C 바인딩 라이브러리를 사용하십니까? 가능한 어디에서나 래퍼는 C ++이있을 것 같지 않습니다.

  2. ==============================

    2.나는 fictorial 레디 스-CPLUSPLUS 클라이언트를 포크 만든이 API 호출 및 구현 일관된 해싱 누락 추가 레디 스 서버 2.0에 호환. STL과의 가까운 미래의 유형 (shared_string, shared_int, shared_set, ...)처럼 사용 가능한 것 높은 수준의 클래스의 초기 상태도 있습니다. 아무것도 생산 아직 준비 없지만 제공된 테스트를 성공적으로 실행 :-)

    나는 fictorial 레디 스-CPLUSPLUS 클라이언트를 포크 만든이 API 호출 및 구현 일관된 해싱 누락 추가 레디 스 서버 2.0에 호환. STL과의 가까운 미래의 유형 (shared_string, shared_int, shared_set, ...)처럼 사용 가능한 것 높은 수준의 클래스의 초기 상태도 있습니다. 아무것도 생산 아직 준비 없지만 제공된 테스트를 성공적으로 실행 :-)

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

  3. ==============================

    3.https://github.com/brianwatling/redispp

    https://github.com/brianwatling/redispp

    난 그냥 GitHub의에 내 C ++ 레디 스 클라이언트를 출시했습니다. 그것은 바로 지금, 내가 더 추가됩니다 파이프 라이닝되어 주요 기능의 가능성 샤딩 / 일관된 해싱을 다음 곧 있습니다.

  4. ==============================

    4.C ++ 클라이언트의 공식 목록

    C ++ 클라이언트의 공식 목록

    redis.io에 레디 스 C ++ 클라이언트의 전체 목록을 탐험 해보세요. 당신은 C의이 시간 없음에서 ++ 클라이언트 구현으로 표시되는 등 부스트, Qt는, 주에 따라 거기에 다른 클라이언트를 찾을 것 "권장." 그러나 거기에 권장 C 클라이언트이며, C ++로 잘 작동해야하는, hiredis.

  5. ==============================

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

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

    이 C ++ 클라이언트 라이브러리는 몇 사람들이 실제로 레디 스와 통신하기 위해 C ++를 사용하지만 유지되지 않습니다.

  6. ==============================

    6.나는 C ++ 레디 스 클라이언트를 썼다 : 레디 스 - 플러스 - 플러스. 그것은 hiredis를 기반으로하고, C ++ (11)로 작성. 그것은 다음과 같은 기능을 지원합니다 :

    나는 C ++ 레디 스 클라이언트를 썼다 : 레디 스 - 플러스 - 플러스. 그것은 hiredis를 기반으로하고, C ++ (11)로 작성. 그것은 다음과 같은 기능을 지원합니다 :

    그것은 매우 빠르고, 사용하기 쉽습니다. 이 클라이언트에 문제가 있으면 알려 주시기 바랍니다. 당신이 그것을 좋아하는 경우에, 또한 스타 주시기 :)

    #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.
    }
    

    자세한 내용은 문서를 확인하십시오.

  7. ==============================

    7.https://github.com/petrohi/hiredispp

    https://github.com/petrohi/hiredispp

    또한 hiredispp을 확인하십시오. 그것은 지금까지 전체에서, 그러나 아주 간단한 구현 C 기반 hiredis 주위가 랩. hiredispp 래퍼는 그냥 친화적 인 C ++ 만드는 동안 Hiredis 낮은 수준의 프로토콜의 관리 및 네트워킹 물건을합니다.

  8. ==============================

    8.또 다른 C ++ 클라이언트는 여기에서 찾을 수 있습니다 : https://github.com/luca3m/redis3m

    또 다른 C ++ 클라이언트는 여기에서 찾을 수 있습니다 : https://github.com/luca3m/redis3m

    그것은 좋은 C ++ 클래스, 고 가용성 연결 풀링과 패턴을 이미 구현하고 사용할 준비가 세트로 hiredis의 래퍼입니다.

  9. ==============================

    9.성능에 대해 걱정하는 경우, bredis위한 시도를 제공합니다. 그것은 C ++ 14 부스트 :: ASIO를 사용하고있다되지 않은 다른 종속 (즉, 어떤 hiredis도 libev 등). 그것의 사용은 다른 C ++ 라이브러리로 편리하지 될 수도 있지만 그 성능과 최대의 유연성을 위해 디자인에 의해 떨어져 무역이었다.

    성능에 대해 걱정하는 경우, bredis위한 시도를 제공합니다. 그것은 C ++ 14 부스트 :: ASIO를 사용하고있다되지 않은 다른 종속 (즉, 어떤 hiredis도 libev 등). 그것의 사용은 다른 C ++ 라이브러리로 편리하지 될 수도 있지만 그 성능과 최대의 유연성을 위해 디자인에 의해 떨어져 무역이었다.

    가 더 종속성을 hiredis이 없기 때문에 bredis 훨씬 더 쉽게, Windows에서 사용할 수 있습니다.

  10. from https://stackoverflow.com/questions/2181474/how-to-use-redis-within-a-c-program by cc-by-sa and MIT license