100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Database

Redis

By Redis Ltd.

IntermediateService6.8K learners

Redis is an open-source, in-memory data structure store used as a database, cache, and message broker, supporting strings, hashes, lists, sets, and sorted sets with sub-millisecond read and write latency.

Definition

Redis is an open-source, in-memory data structure store used as a database, cache, and message broker, supporting strings, hashes, lists, sets, and sorted sets with sub-millisecond read and write latency.

Overview

Redis (short for REmote DIctionary Server) was created by Salvatore Sanfilippo and first released in 2009. Its combination of speed and a rich set of built-in data types made it one of the most widely adopted NoSQL data stores, sitting alongside relational databases in a huge number of production systems. Redis keeps data primarily in RAM for extremely low latency, with optional persistence to disk through RDB snapshots or append-only (AOF) logs so data can survive a restart. It supports pub/sub messaging, Lua scripting, transactions, and Redis Cluster for horizontal scaling and replication across nodes, and modules extend it further into JSON storage, full-text search, and time-series data. It's most commonly deployed as a cache layer in front of a primary database such as PostgreSQL or MySQL, reducing load and latency for frequently accessed data, and is just as often used directly for session storage, rate limiting, and real-time leaderboards. Redis is typically run inside Docker containers on Kubernetes in modern stacks. In 2024, Redis Ltd. changed the licensing terms of the core Redis project away from a fully permissive open-source license, which led a group of maintainers and cloud vendors to create Valkey, an open-source fork stewarded by the Linux Foundation.

Key Features

  • In-memory storage delivering sub-millisecond read and write latency
  • Rich data types: strings, hashes, lists, sets, sorted sets, and streams
  • Optional persistence via RDB snapshots or AOF logs
  • Built-in pub/sub messaging and Lua scripting
  • Redis Cluster and replication for horizontal scaling and high availability
  • Widely used as a cache, session store, and rate limiter in front of primary databases

Use Cases

Caching database query results to reduce load and latency
Session storage for web applications
Real-time leaderboards, counters, and rate limiting
Pub/sub messaging for real-time notifications and chat
Job and task queues for background processing
Storing ephemeral data such as feature flags or short-lived tokens

History

Redis is an in-memory data-structure store used as a database, cache, and message broker, prized for sub-millisecond performance. It was created by Salvatore Sanfilippo in 2009 to solve a real-time analytics bottleneck at his Italian startup LLOOGG; he first prototyped it in Tcl, then reimplemented it in C. The first public release came on April 10, 2009. Redis keeps data in RAM and offers rich native data types — strings, lists, sets, sorted sets, hashes, and more — with optional persistence. It quickly gained traction (early adopters included GitHub and Instagram) and became one of the most widely used data stores for caching, queuing, and high-throughput workloads.

Sources

Frequently Asked Questions