A curated list of amazingly awesome redis and redis ecosystem resources.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md fix wrong link Jun 27, 2018

README.md

Awesome Redis

A curated list of amazingly awesome redis and redis ecosystem resources. Inspired by Awesome PHP, Awesome Python and Awesome Sysadmin


Redis

  • Redis - redis official website
  • Antirez - blog of the redis author
  • Documentation
  • Redis Comands - The full list of commands implemented by Redis, along with thorough documentation for each of them
  • FAQ - Some common questions about Redis.

Community


Tutorial


Performance Monitoring

  • RedisLive - Visualize your redis instances, analyze query patterns and spikes.
  • redmon - A web interface for managing redis: cli, admin, and live monitoring
  • redis-stat - A real-time Redis monitoring tool
  • redispapa - another redis monitor by using flask, angular, socket.io
  • django-redisboard - Redis monitoring and inspection tool in django admin
  • redis-faina - A query analyzer that parses Redis' MONITOR command for counter/timing stats about query patterns

Debugging or Profiling


Logging

  • SLOWLOG subcommand - official command
  • python-redis-log - A Python logging handler that publishes to redis pub/sub channels
  • Redis Logging - Redis logging provides a logging backend for the Redis key-value store, as well as a dblog-like user interface to view watchdog entries.
  • nginx redislog module - This is a high-performance nginx module for logging http requests into Redis database.
  • logstash

Use Cases


Top Questions on Stackoverflow


Most Stars Project on Github

  • resque - Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
  • node_redis - redis client for node
  • twemproxy - A fast, light-weight proxy for memcached and redis
  • redis-py - Redis Python Client
  • kue - Kue is a priority job queue backed by redis, built for node.js.
  • codis - redis cluster powered by go
  • ssdb - SSDB - A fast NoSQL database, an alternative to Redis
  • jedis - A blazingly small and sane redis java client
  • redis-rb - A Ruby client library for Redis
  • Balloons.IO - Balloons.IO is a web multi-room chat server and client ready to use. It’s built with the help of node.JS, Express, Socket.IO and Redis
  • predis - Flexible and feature-complete PHP client library for Redis

Redis based Job Queues

  • rq - Minimalistic Python task queue. Supports only Redis. (Python)
  • restmq - REST/JSON/HTTP based message queue
  • resque - Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later. (Ruby)
  • rq-scheduler - A light library that adds job scheduling capabilities to rq
  • Ost - Redis based queues and workers. (Ruby)
  • HotQueue - a Python library that allows you to use Redis as a message queue within your Python programs.
  • kue - Kue is a priority job queue backed by redis, built for node.js
  • django-rq - A simple app that provides django integration for rq
  • bull - A NodeJS persistent job and message queue based on Redis
  • flask-rq - rq integration for Flask applications
  • Celery - Python task queue. Supports multiple backends. (Python)
  • redis-smq - A simple high-performance Redis message queue for Node.js.

Higher level libraries and tools

  • Fnordmetric - Redis/ruby-based realtime Event-Tracking app. (Ruby)

  • Ohm - Object-hash mapping library for Redis. (Ruby)

  • Kombu -Python AMQP Framework with redis support (Python)

  • Sider - Python persistent object library based on Redis. (Python)

  • Redis-objects - Map Redis types directly to Ruby objects. (Ruby)

  • Redis-rdb-tools - Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON (Python)

  • Rdb-parser - node.js asynchronous streaming parser for redis RDB database dumps. (Javascript)

  • Redis-sync - A node.js redis replication slave toolkit (Javascript) (Javascript)

  • Meerkat - Rack middleware for Server Sent Events with multiple backends. (Ruby) (Javascript)

  • Redis-sampler - Sample a Redis DB to understand dataset composition. (Ruby)

  • Recommendify - Ruby/Redis based recommendation engine (collaborative filtering). (Ruby)

  • Redis-store - Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks. (Ruby)

  • Redsmin - a developer oriented online administration and monitoring service for Redis and Redis cluster. Redsmin is trusted by more than 10K developers world-wide and manage thousands of Redis servers in real-time.

  • RedisManager - Simple Mac Application to manage Redis Server

  • Redmon - A web interface for managing redis: cli, admin, and live monitoring. (Ruby)

  • Rollout - Conditionally roll out features with redis. (Ruby)

  • Webdis - A Redis HTTP interface with JSON output. (C)

  • Soulmate - Redis-backed service for fast autocompleting. (Ruby)

  • Redis_failover - Redis Failover is a ZooKeeper-based automatic master/slave failover solution for Ruby. (Ruby)

  • Redis-dump - Backup and restore your Redis data to and from JSON. Warning: alpha code. (Ruby)

  • Sidekiq - Simple, efficient message processing for your Rails 3 application. (Ruby)

  • Soulmate - Redis-backed service for fast autocompleting. (Ruby)

  • Omhiredis - redis output plugin for rsyslog (rsyslog dev, and rsyslog head). (C)

  • Mod_redis - An Apache HTTPD module for speaking to redis via HTTP (C)

  • leaderboard - Leaderboards backed by Redis. (Ruby)

  • Redis-rdb - A set of utilities to handle Redis .rdb files with Ruby. (Ruby)

  • Lua-ohm - Lua Redis Object-hash-mapping and more (Lua)

  • PHP-Resque -Port of Resque to PHP. (PHP)

  • phpRedisAdmin - phpRedisAdmin is a simple web interface to manage Redis databases. (PHP)

  • HighcoTimelineBundle - TimelineBundle is a Bundle which works with Symfony 2.* which provides a timeline for a subject as Facebook can do. (PHP)

  • Stdnet - Redis data manager with advanced query and search API. (Python)

  • Retools - Caching and locking helper library. (Python)

  • Distributed locks with Redis - Distributed locks are a very useful primitive in many environments where different processes require to operate with shared resources in a mutually exclusive way.

  • Redis-tools - Generate the Redis protocol, in raw format, in order to use 'redis-cli --pipe' command to massively and quickly insert/delete.... keys in a redis server. (Python)

  • Redis-cluster-tool - redis-cluster-tool is a convenient and useful tool for redis cluster. It was primarily built to manage the redis cluster. (C)

  • Rump - Hot-sync two Redis servers using dumps


Redis Cheat Sheet


Redis Hosting


Redis Client

C

  • hiredis - This is the official C client. Support for the whole command set, pipelining, event driven programming.

C sharp

  • ServiceStack.Redis - This is a fork and improvement of the original C# client written by Miguel De Icaza.
  • StackExchange.Redis - This .NET client was developed by Stack Exchange for very high performance needs (replacement to the earlier BookSleeve).

C++

  • redis-client for C++ - full redis client commands, one redis command one redis function, including STRING, HASH, LIST, SET, ZSET, HLL, PUBSUB, TRANSACTION, SCRIPT, CONNECTION, SERVER, CLUSTER
  • redis3m - A C++ wrapper of hiredis, with also connection pooling, high availability and ready-to-use patterns
  • redisclient - A C++ asynchronous client based on boost::asio
  • redox - Modern, asynchronous, and fast C++11 client for Redis
  • SimpleRedisClient - Simple Redis client for C++

Erlang

  • Eredis - Redis client with a focus on performance
  • sharded_eredis - Wrapper around eredis providing process pools and consistent hashing
  • Tideland Erlang/OTP Redis Client - A comfortable Redis client for Erlang/OTP support pooling, pub/sub and transactions.

Go

  • Radix - MIT licensed Redis client
  • Redigo - Redigo is a Go client for the Redis database with support for Print-alike API, Pipelining (including transactions), Pub/Sub, Connection pooling, scripting

Haskell

  • hedis - Supports the complete command set. Commands are automatically pipelined for high performance

Java

  • Jedis
  • Redisson - distributed and scalable Java data structures on top of Redis server
  • aredis - Asynchronous, pipelined client based on the Java 7 NIO Channel API
  • RedisClientredis client GUI tool

Lua

Matlab

Node.js

  • ioredis - A delightful, performance-focused and full-featured Redis client. Supports Cluster, Sentinel, Pipelining and Lua Scripting
  • node_redis - Recommended client for node

Objective-C

  • ObjCHiredis - Static Library for iOS4 device and Simulator, plus Objective-C Framework for MacOS 10.5 and higher

Perl

PHP

  • phpredis - This is a client written in C as a PHP module
  • Predis - Mature and supported
  • redis-async - Asynchronous redis client library for PHP

Python

Ruby

  • redis-rb - Very stable and mature client. Install and require the hiredis gem before redis-rb for maximum performances

Rust

  • redis-rb - A high and low level client library for Redis tracking Rust nightly

Scala

  • scala-redis - Apparently a fork of the original client from @alejandrocrosa

Resources


Useful websites and articles

Presentations


Books


Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.