Book Image

Redis Essentials

By : Maxwell Dayvson da Silva
Book Image

Redis Essentials

By: Maxwell Dayvson da Silva

Overview of this book

Redis is the most popular in-memory key-value data store. It's very lightweight and its data types give it an edge over the other competitors. If you need an in-memory database or a high-performance cache system that is simple to use and highly scalable, Redis is what you need. Redis Essentials is a fast-paced guide that teaches the fundamentals on data types, explains how to manage data through commands, and shares experiences from big players in the industry. We start off by explaining the basics of Redis followed by the various data types such as Strings, hashes, lists, and more. Next, Common pitfalls for various scenarios are described, followed by solutions to ensure you do not fall into common traps. After this, major differences between client implementations in PHP, Python, and Ruby are presented. Next, you will learn how to extend Redis with Lua, get to know security techniques such as basic authorization, firewall rules, and SSL encryption, and discover how to use Twemproxy, Redis Sentinel, and Redis Cluster to scale infrastructures horizontally. At the end of this book, you will be able to utilize all the essential features of Redis to optimize your project's performance.
Table of Contents (11 chapters)
5
5. Clients for Your Favorite Language (Become a Redis Polyglot)
10
Index

Redis Sentinel


When a master node experiences issues, one of its slave nodes needs to be promoted to master, and all the other slaves need to be reconfigured to point to the new master. Before Redis Sentinel, this failover process was done manually, which was not very reliable.

Redis Sentinel is a distributed system designed to automatically promote a Redis slave to master if the existing master fails. Sentinel does not distribute data across nodes since the master node has all of the data and the slaves have a copy of the data—Sentinel is not a distributed data store.

The most common architecture contains an installation of one Sentinel for each Redis server. Sentinel is a separate process from the Redis server, and it listens on its own port.

Note

If a firewall is configured in your setup, it needs to allow Sentinel to connect to all other Sentinels and Redis servers in the group.

If your architecture has one master and two replicas, you can use Sentinel in the following way:

Without Sentinel...