Awesome Redis
A curated list of amazingly awesome redis and redis ecosystem resources. Inspired by Awesome PHP, Awesome Python and Awesome Sysadmin
- Awesome Redis
- Resources
- Certifications
- Other Awesome Lists
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
- 10-quick-tips-about-redis
- Redis: Zero to Master in 30 minutes
- Lua: A Guide for Redis Users
- Redis - Quick Guide
- Introduction to Redis data types - This is a good starting point to learn the Redis API and data model.
- Redis Cluster - a gentle introduction and setup guide to Redis Cluster
- Top 10 Redis Interview Questions
- Using Redis as a temporary cache for data shared by multiple independent processes
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
- Migrator - A golang script which can be distributed as a binary to migrate data from one redis service to another on the fly
Debugging or Profiling
- redis-lua-debugger - A Redis Lua script for debugging Redis Lua scripts
- Redis debugging guide - official Redis debugging guide
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
- Twitter - Real-Time Delivery Architecture at Twitter
- Twitter - How Twitter Uses Redis To Scale
- Tumblr
- Flickr
- Youporn.com
- Line
- stackoverflow
- Github
- Discourse
- Digg
- Writing a simple Twitter clone with PHP and Redis - Design and implementation of a simple Twitter clone using PHP and the Redis key-value store
- bloom-redis - a simple redis-backed bloom-filter
- Auto complete with Redis - The full list of commands implemented by Redis, along with thorough documentation for each of them
- Using Redis as an LRU cache - How to configure and use Redis as a cache with a fixed amount of memory and auto eviction of keys.
- reds - light-weight, insanely simple full text search module for node.js - backed by Redis
- URL Shortener Service Using Redis - simple URL Shortener Service Using Redis
Top Questions on Stackoverflow
- Memcached vs. Redis?
- What is Redis and what do I use it for?
- How do I delete everything in redis?
- What are the underlying data structures used for Redis?
- When to Redis? When to MongoDB?
- How to atomically delete keys matching a pattern using Redis
- Redis command to get all available keys?
- How much faster is Redis than mongoDB?
- Is memcached a dinosaur in comparison to Redis?
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)
-
RedisWebManager - Web interface that allows you to manage easily your Redis instance (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
- cheat sheet -pdf reference with fine layout
- cheat sheet - Online or printable function reference for Redis.
Redis Hosting
- linode
- redisgreen - With 24/7 Monitoring and Professional Support.
- redislabs -Great apps. Big performance. Little effort
- openredis - offer dependable Redis™ hosting
- redis to go - simple redis hosting
- redis4you - offering Redis hosting
- openredis - Dependable Redis Hosting
- rackspace - safe, scalable and supported
- scalechamp - Managed Redis as a Service provided by ScaleChamp on AWS, Hetzner, Azure, Linode, IBM, Scaleway, Alibaba Cloud, DigitalOcean, GCP, UpCloud, Vultr
Commandline Tool
- iredis - Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
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
- go-redis - Type-safe Redis client for Golang
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
- redis-octave - A Redis client in pure Octave
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
- Redis - Perl binding for Redis database
- Redis::hiredis - Perl binding for the hiredis C client
- AnyEvent::Hiredis - Non-blocking client using the hiredis C library
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
- redis-py - Redis Python Client
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
- Redis News Feed
- Redis Package
- Redis Wikipedia Article
- Redis网络资料汇总(Chinese)
- Redis Cheat Sheet - Online or printable function reference for Redis.
- Redis(Chinese)
- Redis Command Reference(Chinese)
- redis-3.0-annotation(Chinese)
- A Collection Of Redis Use Cases
Presentations
Books
- Redis in Action
- Redis: The Definitive Guide
- The Little Redis Book
- Redis Cookbook
- Instant Redis Optimization How-to
- Instant Redis Persistence
- Seven Databases in Seven Weeks
- Mining the Social Web
Courses
Certifications
Other Awesome Lists
Other amazingly awesome lists can be found in the awesome-awesomeness list.