Key FeaturesLearn how to use Redis's data types efficiently to manage large data setsScale Redis to multiple servers with Twemproxy, Redis Sentinel, and Redis ClusterA fast-paced guide, full of real-world examples to help you get the best out of the features offered by RedisBook DescriptionRedis 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.
What you will learnBuild analytics applications using Bitmaps and HyperloglogsEnhance scalability with Twemproxy, Redis Sentinel, and Redis ClusterBuild a Time Series implementation in Node.js and RedisCreate your own Redis commands by extending Redis with LuaGet 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 RDBUnderstand how to use Node.js, PHP, Python, and Ruby clients for RedisAvoid common pitfalls when designing your next solutionWho this book is forIf 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.
Table of ContentsGetting Started (The Baby Steps)Advanced Data Types (Earning a Black Belt)Time Series (A Collection of Observations)Commands (Where the Wild Things Are)Clients for Your Favorite Language (Become a Redis Polyglot)Common Pitfalls (Avoiding Traps)Security Techniques (Guard Your Data)Scaling Redis (Beyond a Single Instance)Redis Cluster and Redis Sentinel (Collective Intelligence)
Still worth reading even though Redis has been updated since this was written. Covers the basics as well as advanced topics. I used it while building a home project and it was both useful as a tutorial and a reference.
The book is very good to understand Redis data types & deployments but you will need to find more real examples to be able to have a deep understanding of how to use it in real applications.
Widely known for being the most efficient in-memory database available on the market, Redis is still unknown to a big part of the IT community. Initially released back in 2009, and often referred to as a better solution than memcached, Redis is a mature and powerful noSQL solution that provides the community with many native data types that, if properly exploited, allow to achieve incredible execution time. Despite being the point of reference and the first choice of many companies, only recently Redis was dedicated a significant number of titles and, as of today, we can still find a very limited number of books to get the most out of it. Redis Essentials is a beginners' text that provides good coverage of the basics features, including those introduced with the recent release of version 3.
Redis Essential, released late in 2015, is a book that, despite officially targeting only beginners, covers the new clustering features of version 3, being thus an juicy choice also for experts interested in these new capabilities. The text, which spans some 230 pages only, can be roughly split into three main sections: the first covers the data types natively supported by Redis; the second is about extending Redis and common best practices; the final part of the book is instead dedicated to clustering.
As stated, the first chapters provide an exhaustive coverage of the data types natively supported by Redis. Each is first described. The basic operations it supports, such as insertion, deletion and search, are then presented. What stands out here is the fact that the authors benchmark the cost of those operations and explain to the readers what's going on under the hood, so that everyone can perfectly understand how internally the data is stored and can be retrieved.
This performance analysis is then extended in the second part of the book, when the authors talk about common pitfalls and how to avoid them. First, we are shown through examples (good ones!), the impact picking the wrong data types for a specific job has, in terms of space and time. Next, the discussion moves to the impact it has using the wrong persistence strategy. This part also covers other topics, such as extending Redis with Lua.
The final part of the book is what most of us has been waiting for: clustering! Introduced with Redis 3, it finally gives us the chance to spread our data through multiple machines without having to worry too much about sharding and other intricacies. Here the authors show what led Sanfilippo to first develop Sentinel and its limits, then how Redis came up with clustering, with its key features.
Throughout the book we are presented with many different real-world examples. These are mostly developed in Node.js. Among them, a praise to the voting and leaderboard systems. Those pieces of code are well explained and exhaustively cover the topics being explained, providing good value to the reader.
Overall, a very good pick for anyone interested in Redis, be it a beginner or an experienced professional looking for material on the new clustering features.
As usual, you can find more reviews on my personal blog: http://books.lostinmalloc.com. Feel free to pass by and share your thoughts!