Using Redis for tracking client state
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 lists and sets, and performing operations on those (such as set intersections and list pushing and popping). Instructions...