Book Image

Mastering Redis

By : Jeremy Nelson
Book Image

Mastering Redis

By: Jeremy Nelson

Overview of this book

Redis is the most popular, open-source, key value data structure server that provides a wide range of capabilities on which multiple platforms can be be built. Its fast and flexible data structures give your existing applications an edge in the development environment. This book is a practical guide which aims to help you deep dive into the world of Redis data structure to exploit its excellent features. We start our journey by understanding the need of Redis in brief, followed by an explanation of Advanced key management. Next, you will learn about design patterns, best practices for using Redis in DevOps environment and Docker containerization paradigm in detail. After this, you will understand the concept of scaling with Redis cluster and Redis Sentinel , followed by a through explanation of incorporating Redis with NoSQL technologies such as Elasticsearch and MongoDB. At the end of this section, you will be able to develop competent applications using these technologies. You will then explore the message queuing and task management features of Redis and will be able to implement them in your applications. Finally, you will learn how Redis can be used to build real-time data analytic dashboards, for different disparate data streams.
Table of Contents (18 chapters)
Mastering Redis
About the Author
About the Reviewers

Key expiration

A simple and robust method to keep your Redis database from exceeding it's available memory is to set timeouts on keys that will be automatically evicted after the key's timeout expires. If your application does not need to retain stale or old data, having an effective expiration strategy for your key-space will keep the memory demands for your Redis application more manageable. A popular Redis design pattern using key expiration is to save expired or evicted data into another relational SQL database or other more disk-based NoSQL platform like MongoDB.

There are some aspects of key expiration that you should be aware of when implementing this feature in your application. First, when you call a timeout with the EXPIRE command on a key, the timeout can only be cleared if you delete the key or replace the key. Any subsequent commands that alter the value do not change or clear out any timeouts you set. Let's create a scenario where you are programming an application that brews...