Book Review: Applied Redis Design Patterns
First Things First
Right from the beginning I’ll tell you I received an electronic copy of the book in order to do the review. Rest assured the only consideration that buys is me doing the review. I am not affiliated with this book in any and receive no additional consideration relating to it.
I should also say I have some issues with the book. Primarily around the title and content. For me the phrase “design patterns” is a somewhat specific one. While you can’t generally judge a book by it’s cover you should be able to do so by it’s title. In this case the title tells me I should expect to find design patterns for using Redis.
I found none.
Instead this book is essentially a “cookbook”. There is a not-so subtle distinction between a collection of code samples implementing common things and a pattern which you can apply to requirements. Patterns are like guiding principles, recipes handle specific requirements. When stick with the theme of cooking, when you go to a cooking school you learn the fundamentals of flavor and how they combine. In a sense, this is learning patterns of cooking. Is your dish too sweet? By learning how to counteract, or complement, sweetness you can pick and choose from a variety of flavors and food qualities to achieve what you want. On the other hand a recipe is a specific set of instructions to achieve a specific goal.
For example, Chapter titles include “Redis as a Caching Server” and “Redis in Social Networks”, “Redis in Advertising Networks”. These are not patterns, they are use cases. Nor do the chapters describe patterns and how they apply. This brings me to my second gripe about the book.
Collection of Sample Code
The book is essentially a collection of sample code implementations you can easily find on the Internet. Now I am not saying it is copy-pasta, just that it doesn’t add to the “Redis Body of Knowledge”. This type of book has it’s purposes, but it in general should add new things rather than simply rehash existing ones under a new name.
The lack of a cohesive theme to the book (one of the purposes of a title IMO) means each chapter is really a standalone web page. There is nothing other than Redis and sample code tying the book together. Thus the way it reads is like reading a dictionary. For me a book about design patterns, applied or otherwise, should read more like an encyclopedia.
Should you Buy It?
My recommendation would be no. There isn’t anything here a trip to a search engine won’t immediately turn up. The way this book is useful is if you have a specific use case you are looking to implement. If you have that level of detail you can easily use the right search terms to get it online. It isn’t a bad book, just a poorly titled one without a coherent theme bringing it together. If you want to learn patterns on using Redis you’ll have to read the recipes and find the common themes.
But you don’t need this book to do that, and the way it is written doesn’t help you do it. You would have better luck searching GitHub and reading code there.