For some of the applications and examples in this chapter, we will be using Redis, an in-memory Key/Value (KV) database developed by Salvatore Sanfilippo. More information on Redis can be found at: http://redis.io. A well-known competitor to Redis is Memcached (http://memcached.org).
In general, any server that must maintain the session state of many clients will need a high-speed data layer with near-instantaneous read/write performance, as request validation and user state transformations can occur multiple times on each request. Traditional file-backed relational databases tend to be slower at this task than in-memory KV databases. We're going to use Redis for tracking the client state.
Redis is a single-threaded data store that runs in memory. It is very fast, and focused on implementing several data structures, such as hashes and...