Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

cpp-redis/cpp_redis

Open more actions menu

Repository files navigation

cpp_redis Build Status

cpp_redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining.

Requirement

cpp_redis has no dependency. Its only requirement is C++11.

Example

cpp_redis::redis_client

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

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

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.

Wiki

A Wiki is available and provides full documentation for the library as well as installation explanations.

License

cpp_redis is under MIT License.

Contributing

Please refer to CONTRIBUTING.md.

Special Thanks

  • 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

Author

Simon Ninon

About

C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 76.1%
  • HTML 6.2%
  • TeX 5.5%
  • CSS 4.9%
  • JavaScript 4.8%
  • CMake 1.3%
  • Other 1.2%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.