In this course we build a Redis clone from scratch, using Ruby. We will implement all the major features, including the data structures, transactions, persistence, and more. Along the way we'll also learn how Redis uses Unix sockets and process management to better understand how it operates at the system level. By the end of this course you will have a better understanding of how Redis works, allowing you to make better decisions about how and when to use it.
Simple Commands and Data Structures In this module on simple data structures, we'll take the skeleton setup from the first setup module and flush it out with some real features. We'll also move to a design that can handle multiple clients in a scalable way. First up, we will implement the ECHO command, which will require us to actually start reading data from the clients rather than always responding with the same message. After that, we will take some time to re-architect the server code to something more robust. Before then, adding state and implementing the basic data types of Redis, strings and hashes.
Expiry, Sets, Transactions, and Lists Welcome to the third module of the Learn By Building Redis with Ruby Screencast. This is perhaps the most transparently-named module I have ever recorded, Expiry, Sets, Transactions, and Lists. In this module, we will unsurprisingly be covering expiry, sets, transactions, and lists -- bet you didn't see that coming. This list encompasses some of the more advanced Redis features and in using them, you'll be able to write quite sophisticated applications. Let's dive right into the first topic: expiry.
Pub/Sub and Persistence Welcome to the fourth module in the learn by building Redis in Ruby screen cast. In this module we will cover the final remaining Redis feature pub/sub assistant for publishers and subscribers through send and receive messages amongst themselves. We then take some time for a fairly in-depth look at the different persistence models provided by Redis. Understanding and correctly using these is really important, otherwise you may end up on one hand losing data you did not intend to or on the other, crippling the throughput of your server.