cpp_redis
is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining.
cpp_redis
has no dependency. Its only requirement is C++11
.
cpp_redis::redis_client client;
client.connect();
client.set("hello", "42");
client.get("hello", [](cpp_redis::reply& reply) {
std::cout << reply << std::endl;
});
client.sync_commit();
# or client.commit(); for synchronous call
cpp_redis::redis_client
full documentation and detailed example.
More about cpp_redis::reply.
cpp_redis::redis_subscriber sub;
sub.connect();
sub.subscribe("some_chan", [](const std::string& chan, const std::string& msg) {
std::cout << "MESSAGE " << chan << ": " << msg << std::endl;
});
sub.psubscribe("*", [](const std::string& chan, const std::string& msg) {
std::cout << "PMESSAGE " << chan << ": " << msg << std::endl;
});
sub.sync_commit();
# or sub.commit(); for synchronous call
cpp_redis::redis_subscriber
full documentation and detailed example.
cpp_redis::future_client client;
client.connect();
auto set = client.set("hello", "42");
auto decrby = client.decrby("hello", 12);
auto get = client.get("hello");
client.sync_commit();
# or client.commit(); for synchronous call
std::cout << "set 'hello' 42: " << set.get() << std::endl;
std::cout << "After 'hello' decrement by 12: " << decrby.get() << std::endl;
std::cout << "get 'hello': " << get.get() << std::endl;
cpp_redis::future_client
full documentation and detailed example.
A Wiki is available and provides full documentation for the library as well as installation explanations.
cpp_redis
is under MIT License.
Please refer to CONTRIBUTING.md.
- Frank Pagliughi for adding support of futures to the library
- Mike Moening for his unexpected and incredible great work aiming to port cpp_redis on Windows!
- Tobias Gustafsson for contributing and reporting issues
- Alexis Vasseur for reporting me issues and spending time helping me debugging
- Pawel Lopko for reporting me issues