Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Redis Essentials
  • Toc
  • feedback
Redis Essentials

Redis Essentials

By : Maxwell Dayvson da Silva
4.6 (18)
close
Redis Essentials

Redis Essentials

4.6 (18)
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)
close
5
5. Clients for Your Favorite Language (Become a Redis Polyglot)
10
Index

Building the foundation

In this section, we will demonstrate how to create a simple time series library using Redis Strings. This library will be able to save an event that happened at a given timestamp with a method called insert. It will also provide a method called fetch to fetch values within a range of timestamps.

Later on, we will make this library memory-efficient using Hashes instead of Strings, and also add a feature to store and search for unique events in a given timestamp range using Sorted Sets and HyperLogLogs.

The solution supports multiple granularities: day, hour, minute, and second. Every time an event happens in the system, an increment is stored for that specific time in multiple granularities.

For instance, if an event happens on date 01/01/2015 at 00:00:00 (represented by the timestamp 1420070400), the following Redis keys will be incremented (one key per granularity):

  • events:1sec:1420070400
  • events:1min:1420070400
  • events:1hour:1420070400
  • events:1day:1420070400

All events...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete