Redis is an open source, advanced key-value store and an apt solution for building highperformance, scalable web applications.
Redis has three main peculiarities that sets it apart.
- Redis holds its database entirely in the memory, using the disk only for persistence.
- Redis has a relatively rich set of data types when compared to many key-value data stores.
- Redis can replicate data to any number of slaves.
Following are certain advantages of Redis.
- Exceptionally fast − Redis is very fast and can perform about 110000 SETs per second, about 81000 GETs per second.
- Supports rich data types − Redis natively supports most of the datatypes that developers already know such as list, set, sorted set, and hashes. This makes it easy to solve a variety of problems as we know which problem can be handled better by which data type.
- Operations are atomic − All Redis operations are atomic, which ensures that if two clients concurrently access, Redis server will receive the updated value.
- Multi-utility tool − Redis is a multi-utility tool and can be used in a number of use cases such as caching, messaging-queues (Redis natively supports Publish/Subscribe), any short-lived data in your application, such as web application sessions, web page hit counts, etc.
Redis Versus Other Key-value Stores
- Redis is a different evolution path in the key-value DBs, where values can contain more complex data types, with atomic operations defined on those data types.
- Redis is an in-memory database but persistent on disk database, hence it represents a different trade off where very high write and read speed is achieved with the limitation of data sets that can’t be larger than the memory.
- Another advantage of in-memory databases is that the memory representation of complex data structures is much simpler to manipulate compared to the same data structure on disk. Thus, Redis can do a lot with little internal complexity.