Redis (Remote Dictionary Server) is an in-memory data structure store, used as a distributed, in-memory key-value database, cache and message broker, with optional durability. Redis supports different kinds of abstract data structures, such as strings, lists, maps, sets, sorted sets, HyperLogLogs, bitmaps, streams, and spatial indices. Redis is open-source software released under a BSD 3-clause license although commercially supported paid versions are also available for enterprise users; Redis, Inc. commercially supports Redis Enterprise, which is available as an on-premises software deployment and a fully managed cloud service.
Redis’ popularity is owed to its ability to support high performance, low-latency caching at scale, making it particularly well-suited to cloud, large datacenter and microservices use cases. Redis enables faster application interactions such as quick data retrieval and a balanced load of backend services with caching.
Common use cases for Redis include:
Redis’ simplicity, performance, and rich feature set make it a popular choice for developers looking for a fast and versatile in-memory data store. Key features and characteristics include:
Redis began as a caching database, but it has since evolved into a primary database. Many applications built today use Redis as a primary database. However, most Redis service providers support Redis as a cache but not as a primary database.
With Redis Enterprise, you can use Redis as both an in-memory cache and a primary database in a single system, thus eliminating the complexity and latency of two separate systems. Not only that, you can use it as a multi-model primary database, enabling you to build modern applications, as well as low-latency microservice-based architectures, all on top of Redis.
Redis is an open source, in-memory key-value data structure store, which can be used as a database, cache, or message broker. It's a NoSQL database.
There are many products whose characteristics and feature set overlap with those of Redis to some extent. Depending on the use case, alternatives that may provide comparable functionality or offer an alternative to Redis, include: Memcached, Apache Kafka, Apache Cassandra, Amazon ElastiCache, Hazelcast, Aerospike and Couchbase.
Microsoft Azure Cache for Redis is a fully managed caching service provided by Microsoft Azure. It is built on the open-source Redis in-memory data store and offers a highly scalable and reliable caching solution in the cloud. Azure Cache for Redis allows applications to offload frequently accessed data from slower data stores or databases and store it in memory for faster retrieval, reducing latency and improving overall application performance.
You can use Redis from most programming languages. A comprehensive list of options is available on the Redis website, see: Get started using Redis clients | Redis. Popular choices include: Python, Java, Node.js, C#, PHP, Ruby, Go, JavaScript and Rust.
Redis is written in ANSI C and works on most POSIX systems like Linux, *BSD, and Mac OS X, without external dependencies. Linux and OS X are the two operating systems where Redis is developed and tested the most, and Redis’ recommends using Linux for deployment. Redis may work in Solaris-derived systems like SmartOS, but support is “best effort”. There is no official support for Windows builds.
Monitoring certain key Redis metrics will help ensure optimal performance, identify potential issues, and maintain the health and stability of your Redis deployment. Key metrics that you will probably want to monitor for Redis , include:
Third-party platforms such as eG Enterprise simplify the monitoring of Redis Servers. Redis does provide some functionality to access performance data and metrics directly. MONITOR is a debugging command that streams back every command processed by the Redis server. It can help in understanding what is happening to the database. This command can both be used via redis-cli and via telnet. See: MONITOR | Redis.
For more information on how eG Enterprise can provide out-of-the-box monitoring, alerting, root-cause diagnostics, dashboards, reports and capacity planning for Redis and its dependencies, see: Redis Performance Monitoring Tools | eG Innovations.