About
Head over to Leanpub to grab a PDF version of this book
Redis
Redis is an open source in-memory data structure server a.k.a a NoSQL key-value database
Data Structure Server - simply put, Redis is a database but differs from traditional ones since it directly exposes core data structures - strings, lists, sets, hashes, sorted sets, geospatial indexes, hyperloglogs, bitmaps etc.
It is possible to add new data structures and capabilities using Redis Modules
Other key features - Transactions, Pub Sub messaging, Queuing, Lua scripting, ability to process infinite Streams of data
Redis also offers - Tunable persistence mechanisms, Sentinel for High Availability and Redis Cluster for data sharding/partitioning
Usage patterns include (but are not limited to) key-value database, a cache server, message broker, session store, analytics engine etc.
About Practical Redis
As the name suggests, Practical Redis is a hands-on, code-driven guide to Redis. Each chapter is based on an application (simple to medium complexity) which demonstrates the usage of Redis and its capabilities (data structures, commands etc.).
The applications in the book are written in Golang and Docker Compose is used to spin up the applications (along with Redis) easily and quickly with a single command.
Summary of chapters
Here is a quick outline of the book contents
Hello Redis - quick tour of Redis capabilities including its versatile data structures
Redis: the basic data structures - intro to core Redis data structures with a simple news sharing app
Tweet analysis service - keep track of relevant tweets using a service which ingests tweets, consumes/processes them and produces queryable info in real time using
reliable queues
(RedisLIST
s),SET
s andHASH
esExtending Redis with Redis Modules - learn about the basics of Redis Modules and make use of ReBloom in a recommendation service
Coming soon ...
Here is the tentative list of chapters which are planned for future releases (please note that these are subject to change)
Pipelines and Transactions in Redis
Scalable chat application - Use Redis PubSub and Websocket to create a chat service
Stream processing with Redis - watch Redis Streams in action (new data structure in Redis 5.0)
Using Redis on Kubernetes
Redis and Kafka based application
Data partitioning in Redis - practical examples highlighting data sharding strategies in Redis
Redis high availability
Distributed co-ordination with Redis
Who is this book suitable for ?
Although I would love for this book to be used by everyone, but, it is most suitable developers who are looking to learn Redis in hands-on style
Beginners will get a good idea of the breadth of Redis capabilities and pick up Redis faster by seeing it in action and getting their hands dirty with actual application code
Someone who knows Redis but has not had enough hands-on experience (maybe you have been called upon to use it in a project at work ?)
Last but not the least, Redis ninjas might use this book as a 'refresher' if need be (although there are tons of other resources including the excellent Redis commands documentation)
What it is not supposed to do ?
A theoretical discourse about the nuts and bolts of Redis e.g. it's protocol etc.
Deep dive into administrative features of Redis
Cover extensive Docker related topics
Last updated