Summary
In this chapter, we built an application that could be run as either a worker or a server. We then built structs that could be serialized and inserted into a Redis queue. This allowed our workers to consume these tasks and then process them in their own time. You now have the power to build systems that process long tasks without having to hold up the HTTP server. The mechanism of serializing Rust structs and inserting them into Redis does not just stop at processing large tasks. We could serialize Rust structs and send them over pub/sub channels in Redis to other Rust servers, essentially creating an actor model approach on a bigger scale. With our distroless images, these Rust servers are only roughly the size of 50 MB, making this concept scalable. We also explored applying raw commands to Redis, which gives you the freedom and confidence to fully embrace what Redis has to offer. A high-level list of all the commands you can do to Redis is given in the Further reading section...