Remote Dictionary Server or Redis is an open-source database which is networked an in-recollection by nature. It stores its keys with optional durability too. If data durability is not central the in-recollection nature of Redis means that it can perform incredibly well in comparison to a database that writes every transmutation to a disk before it warrants that a transaction is fully committed.
- Redis offers automatic failover and holds the full database in memory
- Lua scripting is supported
- Redis can replicate data to your choice of slaves
- Keys in Redis have a limited time-to-live
- LRU eviction are supported for keys
- Publish/Subscribe is fully supported
Redis is very easy to install and it also supports a very large number of data types. Redis databases can be very fast, performing 110,000 SETs in a second, which is about 81,000 GETs in a second. Redis operations are atomic and the database can be used for a range of use cases.
However, developers don’t like the fact that joins are not supported by Redis, and also dislike that full knowledge of Lua is required to code stored procedures. The fact that the full dataset has to fit in memory is also a drawback.