Maxwell Dayvson Da Silva, Hugo Lopes Tavares
Format: PDF / Kindle (mobi) / ePub
Harness the power of Redis to integrate and manage your projects efficiently
About This Book
- Learn how to use Redis's data types efficiently to manage large data sets
- Scale Redis to multiple servers with Twemproxy, Redis Sentinel, and Redis Cluster
- A fast-paced guide, full of real-world examples to help you get the best out of the features offered by Redis
Who This Book Is For
If you are a competent developer with experience of working with data structure servers and want to boost your project's performance by learning about features of Redis, then this book is for you.
What You Will Learn
- Build analytics applications using Bitmaps and Hyperloglogs
- Enhance scalability with Twemproxy, Redis Sentinel, and Redis Cluster
- Build a Time Series implementation in Node.js and Redis
- Create your own Redis commands by extending Redis with Lua
- Get to know security techniques to protect your data (SSL encryption, firewall rules, basic authorization)
- Persist data to disk and learn the trade-offs of AOF and RDB
- Understand how to use Node.js, PHP, Python, and Ruby clients for Redis
- Avoid common pitfalls when designing your next solution
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.
Style and approach
A practical guide that offers the foundation upon which you can begin to understand the capabilities of Redis using a step-by-step approach. This book is full of real-world problems and in-depth knowledge of the concepts and features of Redis, with plenty of examples.
tie exists • ZREVRANGE returns elements from the highest to the lowest score, and it uses descending lexicographical order if a score tie exists Both of these commands expect a key name, a start index, and an end index. The indices are zero-based and can be positive or negative values. The following example shows how the ZREVRANGE command works: 127.0.0.1:6379> ZREVRANGE leaders 0 -1 1) "Hugo" 2) "Max" 3) "Zed" 4) "Alice" [ 34 ] Chapter 2 Also, it is possible to pass an optional parameter to
newspaper over time • Minimum wage year-by-year • Daily changes in stock prices • Product purchases month-by-month • Climate changes Many time series systems face challenges with storage, since a dataset can grow too large very quickly. When storing events every second, at least 86,400 data points are created every day, and storing so many data points over a long period of time is challenging, especially for in-memory data stores, such as Redis. Another aspect of a time series is that as time
(Where the Wild Things Are) Miscellaneous commands This section covers the most important Redis commands that we have not previously explained. These commands are very helpful in a variety of situations, including obtaining a list of clients connected to the server, monitoring the health of a Redis server, expiring keys, and migrating keys to a remote server. All the examples in this section use redis-cli. INFO The INFO command returns all Redis server statistics, including information about
Redis creates snapshots based on two conditions: if in X seconds, Y amount of write operations have happened in your Redis instance, it will create a .rdb file. The RDB filename is based on the directive dbfilename (this defaults to dump.rdb). [ 142 ] Chapter 8 The save directive's syntax is as follows: save number_of_seconds number_of_changes With this in mind, we can infer what those three lines will do: 1. Save a .rdb file on disk every 900 seconds (15 minutes) if at least one write
to design better applications and make better use of the available resources. It will also help you decide whether Redis is the right solution for your problem. The main reason for Redis to have many data types is very simple: one size does not fit all, and different problems require different solutions. Although you do not need to use all the data types, it is important to understand how they work so that you can choose the right ones. By the end of this book, you will have a full understanding