Book Image

Redis Essentials

Book Image

Redis Essentials

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 (17 chapters)
Redis Essentials
About the Authors
About the Reviewers
Clients for Your Favorite Language (Become a Redis Polyglot)

Networking security

Redis is meant to run in a trusted network, but that is not always the case. Currently, many Redis servers are deployed on public clouds, meaning security is a concern.

There are many ways to make Redis secure, such as the following:

  • Use firewall rules to block access from unknown clients

  • Run Redis on the loopback interface, rather than a publicly accessible network interface

  • Run Redis in a virtual private cloud instead of the public Internet

  • Encrypt client-to-server communication

Protecting Redis with firewall rules

Firewall rules are a safe alternative to protect a Redis server, but it is required to have a list of all the trusted Classless Inter-Domain Routing (CIDR) blocks of the possible clients. In a Unix-like server, the iptables program can be used to set up firewall rules.

The iptables program is a standard firewall created in 1998 by Rusty Russell. It is included in most Linux distributions by default. Most of the explanation of iptables is not applicable for Windows...