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 and currently supported by Pivotal. 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 server with a straightforward install:
wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make
There is now a server and a command-line utility available in the /src...