It took me sometime to work out what Redis really isn’t, and is!
The Redis documentation says what it is not:
“Redis is not a plain key-value store…”
And what it is:
“It is actually a data structures server, supporting different kinds of values.”
So, it (really) is a fast in-memory key-value store, where keys are always strings, but the value can actually be a number of different data types, with different operations supported on each data type. It’s also distributed (using the cluster mode, and supports replication). And it’s got two types of disk persistence (which makes it more like a database), and a caching mode. See the FAQ for more details.
Redis can be extremely valuable as a cache, though persistent Redis can introduce weird problems at scale.