GitHub - cpp-redis/cpp_redis: C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform (original) (raw)
cpp_redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations, pipelining, sentinels and high availability.
Requirement
cpp_redis has no dependency. Its only requirement is C++11.
It comes with no network module, so you are free to configure your own, or to use the default one (tacopie)
Example
cpp_redis::client
cpp_redis::client client;
client.connect();
client.set("hello", "42"); client.get("hello", [](cpp_redis::reply& reply) { std::cout << reply << std::endl; }); //! also support std::future //! std::future<cpp_redis::reply> get_reply = client.get("hello");
client.sync_commit(); //! or client.commit(); for asynchronous call
cpp_redis::client full documentation and detailed example. More about cpp_redis::reply.
cpp_redis::subscriber
cpp_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.commit();
cpp_redis::subscriber full documentation and detailed example.
Wiki
A Wiki is available and provides full documentation for the library as well as installation explanations.
Doxygen
A Doxygen documentation is available and provides full API documentation for the library.
License
cpp_redis is under MIT License.
Contributing
Please refer to CONTRIBUTING.md.
Special Thanks
Mike Moening for his unexpected and incredible great work aiming to port cpp_redis on Windows, provides sentinel support and high availability support!
