Skip to content

Latest commit

 

History

History
311 lines (253 loc) · 21 KB

README.md

File metadata and controls

311 lines (253 loc) · 21 KB

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


Peroformance 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)

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)) - Python task queue. Supports multiple backends. (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)

  • 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 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.