Redis

Redis in an in-memory data store used in the Prospect.io application.

Principles

Compared to a traditional database, Redis stores all the data in the RAM of the server it is running on. Consequently, Redis, as a data store has the following features:

  • extremely fast data access (read / write)

  • no data persistency (it's flushed when the machine reboots)

  • limited querying capabilities (mostly using key/value)

Usage

Knowing the possibilities and limitations of Redis, it is particularly good when used:

  • As an ephemeral cache (since data can be accessed very fast)

  • As a temporary message processing (since data can be written very fast)

Replication

Redis, compared to other databases can be easily replicated to make clusters, which can scale over the size of the RAM of a single database, at the cost of a little configuration and latency overhead

Checkpointing

In order to recover from the loss of data following an accidental shutdown of the machine, Redis instances are often checkpointed (persisted) in a different kind of storage (such as in a traditional database, ...).