Redis (REmote DIctionary Server)
Redis is an open source, in-memory, key value store. It is also referred to as a dictionary server as the key values are not only strings, but also hashes, sets, lists, and sorted sets. site
Features
In Memory: Redis stores the key values in primary memory for quick access of read writes.
Replication: Redis supports for master-slave replication. The data access can be done from the slave and the writes can be performed from the master. The replication provides scalability and availability. As any one of the slaves gets failed, the other slave provides data access.
Data Structures: Redis stores not only strings but also lists, sets, hashes and sorted sets.
Virtual memory: Redis uses RAM for in memory storage. But, during the shortage of RAM, it uses virtual memory to keep the data.
Pub/Sub Model: Redis creates Publish and Subscribe channels where the Redis clients can subscribe to any channel to consume the data and any subscribed client to a channel can publish the data.
Data Persistence: Redis persist the in-memory data to a file system on regular intervals. During the failure of Redis node, the data can be restored from Redis Data file.