Supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps and geospatial indexes with radius queries. Redis' high availability and data durability are provided by replication and snapshotting features. It stores all the data in the RAM as key-value pairs and is used as an object caching solution. This approach provides performance that is much higher than the performance of relational DBMSs.
In-memory Data Structures
Data structure server, with support for strings, hashes, lists, sets, sorted sets, streams, and more
Clustering and Scalability
Horizontal scalability with hash-based sharding, scaling to millions of nodes with automatic re-partitioning when growing the cluster
High Availability and Durability
Replication with automatic failover for both standalone and clustered deployments
Server-side scripting with Lua and server-side stored procedures with Redis Functions
A module API for building custom extensions to Redis in C, C++, and Rust.
Keeps the dataset in memory for fast access, but can also persist all writes to permanent storage to survive reboots and system failures
Real-time Data Store
Redis versatile in-memory data structures enable building data infrastructure for real-time applications that require low latency and high-throughput
Caching & Session Storage
Redis' speed makes it ideal for caching database queries, complex computations, API calls, and session state
Streaming & Messaging
The stream data type enables high-rate data ingestion, messaging, event sourcing, and notifications