[REDIS] 어떻게 C ++ 프로그램 내에서 레디 스를 사용 하는가?
REDIS어떻게 C ++ 프로그램 내에서 레디 스를 사용 하는가?
C ++ 프로그램 내에서 레디 스 DB를 사용하는 가장 좋은 방법이 있을까요?
해결법
-
==============================
1.는 C 바인딩 라이브러리를 사용하십니까? 가능한 어디에서나 래퍼는 C ++이있을 것 같지 않습니다.
는 C 바인딩 라이브러리를 사용하십니까? 가능한 어디에서나 래퍼는 C ++이있을 것 같지 않습니다.
-
==============================
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.https://github.com/brianwatling/redispp
https://github.com/brianwatling/redispp
난 그냥 GitHub의에 내 C ++ 레디 스 클라이언트를 출시했습니다. 그것은 바로 지금, 내가 더 추가됩니다 파이프 라이닝되어 주요 기능의 가능성 샤딩 / 일관된 해싱을 다음 곧 있습니다.
-
==============================
4.C ++ 클라이언트의 공식 목록
C ++ 클라이언트의 공식 목록
redis.io에 레디 스 C ++ 클라이언트의 전체 목록을 탐험 해보세요. 당신은 C의이 시간 없음에서 ++ 클라이언트 구현으로 표시되는 등 부스트, Qt는, 주에 따라 거기에 다른 클라이언트를 찾을 것 "권장." 그러나 거기에 권장 C 클라이언트이며, C ++로 잘 작동해야하는, hiredis.
-
==============================
5.http://github.com/fictorial/redis-cplusplus-client
http://github.com/fictorial/redis-cplusplus-client
이 C ++ 클라이언트 라이브러리는 몇 사람들이 실제로 레디 스와 통신하기 위해 C ++를 사용하지만 유지되지 않습니다.
-
==============================
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.https://github.com/petrohi/hiredispp
https://github.com/petrohi/hiredispp
또한 hiredispp을 확인하십시오. 그것은 지금까지 전체에서, 그러나 아주 간단한 구현 C 기반 hiredis 주위가 랩. hiredispp 래퍼는 그냥 친화적 인 C ++ 만드는 동안 Hiredis 낮은 수준의 프로토콜의 관리 및 네트워킹 물건을합니다.
-
==============================
8.또 다른 C ++ 클라이언트는 여기에서 찾을 수 있습니다 : https://github.com/luca3m/redis3m
또 다른 C ++ 클라이언트는 여기에서 찾을 수 있습니다 : https://github.com/luca3m/redis3m
그것은 좋은 C ++ 클래스, 고 가용성 연결 풀링과 패턴을 이미 구현하고 사용할 준비가 세트로 hiredis의 래퍼입니다.
-
==============================
9.성능에 대해 걱정하는 경우, bredis위한 시도를 제공합니다. 그것은 C ++ 14 부스트 :: ASIO를 사용하고있다되지 않은 다른 종속 (즉, 어떤 hiredis도 libev 등). 그것의 사용은 다른 C ++ 라이브러리로 편리하지 될 수도 있지만 그 성능과 최대의 유연성을 위해 디자인에 의해 떨어져 무역이었다.
성능에 대해 걱정하는 경우, bredis위한 시도를 제공합니다. 그것은 C ++ 14 부스트 :: ASIO를 사용하고있다되지 않은 다른 종속 (즉, 어떤 hiredis도 libev 등). 그것의 사용은 다른 C ++ 라이브러리로 편리하지 될 수도 있지만 그 성능과 최대의 유연성을 위해 디자인에 의해 떨어져 무역이었다.
가 더 종속성을 hiredis이 없기 때문에 bredis 훨씬 더 쉽게, Windows에서 사용할 수 있습니다.
from https://stackoverflow.com/questions/2181474/how-to-use-redis-within-a-c-program by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 자바 스크립트 스텁 레디 스가 상호 작용 Sinon를 사용하여 (0) | 2020.01.03 |
---|---|
[REDIS] 어떻게 ConnectionMultiplexer는 연결 해제를 처리합니까? (0) | 2020.01.03 |
[REDIS] 레디 스의 데시벨 값에서 검색 (0) | 2020.01.02 |
[REDIS] StackExchange.Redis와 ServiceStack.Redis의 차이 (0) | 2020.01.02 |
[REDIS] 레디 스와 실행 / 일정 지연? (0) | 2020.01.02 |