Note: The Redis Documentation is also available in raw (computer friendly) format in the redis-doc github repository. The Redis Documentation is released under the Creative Commons Attribution-ShareAlike 4.0 International license.
*Programming with Redis
- The full list of commands implemented by Redis, along with thorough documentation for each of them.
- Pipelining: Learn how to send multiple commands at once, saving on round trip time.
- Redis Pub/Sub: Redis is a fast and stable Publish/Subscribe messaging system! Check it out.
- Redis Lua scripting: Redis Lua scripting feature documentation.
- Debugging Lua scripts: Redis 3.2 introduces a native Lua debugger for Redis scripts.
- Memory optimization: Understand how Redis uses RAM and learn some tricks to use less of it.
- Expires: Redis allows to set a time to live different for every key so that the key will be automatically removed from the server when it expires.
- 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.
- Redis transactions: It is possible to group commands together so that they are executed as a single transaction.
- Mass insertion of data: How to add a big amount of pre existing or generated data to a Redis instance in a short time.
- Partitioning: How to distribute your data among multiple Redis instances.
- Distributed locks: Implementing a distributed lock manager with Redis.
- Redis keyspace notifications: Get notifications of keyspace events via Pub/Sub (Redis 2.8 or greater).
- Creating secondary indexes with Redis: Use Redis data structures to create secondary indexes, composed indexes and traverse graphs.
*Redis modules API
- Introduction to Redis modules. A good place to start learing about Redis 4.0 modules programming.
- Implementing native data types. Modules scan implement new data types (data structures and more) that look like built-in data types. This documentation covers the API to do so.
- Blocking operations with modules. This is still an experimental API, but a very powerful one to write commands that can block the client (without blocking Redis) and can execute tasks in other threads.
- Redis modules API reference. Directly generated from the top comments in the source code inside
src/module.c. Contains many low level details about API usage.
*Tutorials & FAQ
- Introduction to Redis data types: This is a good starting point to learn the Redis API and data model.
- Introduction to Redis streams: A detailed description of the Redis 5 new data type, the Stream.
- Writing a simple Twitter clone with PHP and Redis
- Auto complete with Redis
- Data types short summary: A short summary of the different types of values that Redis supports, not as updated and info rich as the first tutorial listed in this section.
- FAQ: Some common questions about Redis.
- Redis-cli: Learn how to master the Redis command line interface, something you'll be using a lot in order to administer, troubleshoot and experiment with Redis.
- Configuration: How to configure redis.
- Replication: What you need to know in order to set up master-slave replication.
- Persistence: Know your options when configuring Redis' durability.
- Redis Administration: Selected administration topics.
- Security: An overview of Redis security.
- Encryption: How to encrypt Redis client-server communication.
- Signals Handling: How Redis handles signals.
- Connections Handling: How Redis handles clients connections.
- High Availability: Redis Sentinel is the official high availability solution for Redis.
- Latency monitoring: Redis integrated latency monitoring and reporting capabilities are helpful to tune Redis instances for low latency workloads.
- Benchmarks: See how fast Redis is in different platforms.
- Redis Releases: Redis development cycle and version numbering.
*Embedded and IoT
- Redis on ARM and Raspberry Pi: Starting with Redis 4.0 ARM and the Raspberry Pi are officially supported platforms. This page contains general information and benchmarks.
- Redis problems?: Bugs? High latency? Other issues? Use our problems troubleshooting page as a starting point to find more information.
- Redis Cluster tutorial: a gentle introduction and setup guide to Redis Cluster.
- Redis Cluster specification: the more formal description of the behavior and algorithms used in Redis Cluster.
*Other distributed systems based on Redis
- Roshi is a large-scale CRDT set implementation for timestamped events based on Redis and implemented in Go. It was initially developed for the SoundCloud stream.
- Redis Design Drafts: Design drafts of new proposals.
- Redis Protocol specification: if you're implementing a client, or out of curiosity, learn how to communicate with Redis at a low level.
- Redis RDB format specification, and RDB version history.
- Internals: Learn details about how Redis is implemented under the hood.
- Redis Cheat Sheet: Online or printable function reference for Redis.
The following is a list of books covering Redis that are already published. Books are ordered by release date (newer books first).
- Mastering Redis (Packt, 2016) by Jeremy Nelson.
- Redis Essentials (Packt, 2015) by Maxwell Da Silva and Hugo Tavares
- Redis in Action (Manning, 2013) by Josiah L. Carlson (early access edition).
- Instant Redis Optimization How-to (Packt, 2013) by Arun Chinnachamy.
- Instant Redis Persistence (Packt, 2013) by Matt Palmer.
- The Little Redis Book (Free Book, 2012) by Karl Seguin is a great free and concise book that will get you started with Redis.
- Redis Cookbook (O'Reilly Media, 2011) by Tiago Macedo and Fred Oliveira.
The following books have Redis related content but are not specifically about Redis:
- Seven databases in seven weeks (The Pragmatic Bookshelf, 2012).
- Mining the Social Web (O'Reilly Media, 2011)
- Professional NoSQL (Wrox, 2011)
Redis is maintained and developed by Salvatore Sanfilippo. In the past Pieter Noordhuis and Matt Stancliff provided a very significant amount of code and ideas to both the Redis core and client libraries.
The full list of Redis contributors can be found in the Redis contributors page at Github. However there are other forms of contributions such as ideas, testing, and bug reporting. When it is possible, contributions are acknowledged in commit messages. The mailing list archives and the Github issues page are good sources to find people active in the Redis community providing ideas and helping other users.