Redis: From Open-Source Cache to Company
Redis is an open-source, in-memory data structure store, used as a database, cache, and message broker. Its name is a shorthand for REmote DIctionary Server. Known for its speed and flexible data structures, it has become a foundational component in the architecture of countless modern applications, from social media feeds to real-time financial systems. The project's popularity led to the formation of a commercial company, now also named Redis, which provides enterprise-grade versions of the software and managed cloud services.
This article examines the technology, the company's history, its business model, and its place in the competitive database market. It also covers the significant 2024 licensing change that has altered its relationship with the open-source community and its largest cloud provider partners, presenting a new set of considerations for technical leaders deciding where and how to use Redis.
The Core Problem: Fast Data Access
Traditional databases, like PostgreSQL or MySQL, were designed around disk-based storage. While reliable and powerful for structured data, accessing data from a spinning disk or even a solid-state drive (SSD) introduces latency. For applications requiring near-instantaneous responses, such as a real-time bidding platform or a live leaderboard in a mobile game, this latency can be a significant bottleneck. The fundamental problem is the physical gap in speed between computer memory (RAM) and persistent storage.
Redis solves this by operating primarily in-memory. It stores the entire dataset in RAM, which allows for read and write operations that are orders of magnitude faster than disk-bound databases. This makes it an ideal solution for caching, where frequently accessed data is stored in Redis to avoid slower lookups from a primary database. A web application might cache user profiles or product catalog pages in Redis, dramatically speeding up page load times.
What sets Redis apart from simpler caching systems like Memcached is its support for a variety of complex data structures. Beyond simple key-value strings, Redis provides native server-side support for lists, sets, sorted sets, hashes, streams, and geospatial indexes. These structures allow developers to implement complex functionality directly within the database. For example, a sorted set can be used to build a real-time leaderboard with minimal application-side logic, while a list can function as a simple, high-performance job queue.
A History of Redis and the Company
The story of Redis is one of two parallel tracks: the open-source project and the commercial entity that grew alongside it.
The Open Source Project
Redis was created by Italian developer Salvatore Sanfilippo[1], better known by his online handle "antirez." Development began in early 2009. Sanfilippo was attempting to improve the performance of his startup's real-time web analytics service. He found existing database solutions inadequate for the high-throughput logging and analysis he required. His solution was to build a new type of in-memory database, which became Redis.
After its initial release, the project gained rapid traction within the developer community for its performance and simplicity. Recognizing its potential, VMware sponsored the project from 2010 to 2013, with Sanfilippo as a full-time employee working on Redis. After VMware, Pivotal Software (a joint venture by EMC, VMware, and General Electric) took over sponsorship in 2013.
In 2015, Redis Labs (now Redis) became the official sponsor, and Sanfilippo joined the company as Lead of Open Source Development. He remained the project's benevolent dictator for life (BDFL) until he stepped down from his role as maintainer in June 2020[2], joining the advisory board and handing over governance to a core team.
The Commercial Entity
The company now known as Redis was founded as Garantia Data in 2011 by Ofer Bengal and Yiftach Shoolman[3]. Its initial goal was to provide fully managed cloud services for in-memory NoSQL databases, including Redis. In January 2014, the company changed its name to Redis Labs, reflecting its primary focus. A year later, it took over sponsorship of the open-source project.
This move consolidated the brand and positioned Redis Labs as the official steward of both the open-source project and its commercial future. The company continued to raise significant funding from venture capital firms. A notable milestone was its $100 million Series F funding round in August 2020, which valued the company at over $1 billion. This was followed by a $110 million Series G round in April 2021, pushing its valuation over $2 billion.
In August 2021, the company rebranded again, dropping "Labs" to become simply Redis. This change signaled its intent to be seen as the single, definitive source for Redis technology. The company is headquartered in Mountain View, California.
Products and Business Model
Redis operates a classic open-core model, where the foundational technology is open source, while advanced features, management tools, and support are part of a paid commercial offering.
Redis Open Source (OSS)
This is the core, community-developed version of Redis that was historically distributed under a permissive 3-clause BSD license[6]. It includes the fundamental features that made Redis popular: the in-memory engine, a rich set of data structures, basic primary-replica replication for high availability, persistence options (RDB snapshots and AOF logs), and support for Lua scripting to execute custom logic on the server. For many use cases, Redis OSS is sufficient and can be self-hosted by development teams with the operational expertise to manage, scale, and secure it.
Redis Enterprise
Redis Enterprise is the company's commercial product, available as both self-hosted software and a fully managed cloud service. It is designed to address the limitations of the open-source version for mission-critical, large-scale deployments.
-
Redis Enterprise Software: This version can be deployed on a company's own infrastructure, whether in a private data center or a virtual private cloud (VPC) on a public cloud provider. Customers get access to all enterprise features and manage the underlying hardware themselves.
-
Redis Enterprise Cloud: This is a fully managed Database-as-a-Service (DBaaS) offering. Redis handles all the operational overhead, including provisioning, scaling, patching, and backups. It is available on major cloud platforms like AWS, Google Cloud, and Microsoft Azure[7].
Key features that differentiate Redis Enterprise from the open-source version include:
- Linear Scalability: While OSS Redis clustering can be complex to manage, Redis Enterprise is designed to scale linearly to hundreds of millions of operations per second across many nodes.
- Active-Active Geo-Distribution: This feature allows for creating a single database that spans multiple geographic regions. It enables disaster recovery and low-latency reads and writes for globally distributed applications, a feature not available in Redis OSS.
- Higher Availability: Redis Enterprise guarantees 99.999% uptime through instant, automatic failover mechanisms that are more advanced than the basic replication in the open-source version.
- Redis on Flash: This technology extends the database from RAM to Flash storage (SSDs), allowing for much larger datasets at a lower cost than a pure RAM-based deployment, while still maintaining high performance for frequently accessed data.
- Enterprise-Grade Security and Support: The enterprise product includes advanced security features, compliance certifications, and 24/7 technical support from Redis experts.
How Redis Makes Money
The company's revenue is generated primarily through its enterprise offerings. The business model is a mix of subscription and consumption:
- Subscriptions: Customers using Redis Enterprise Software typically pay an annual subscription fee. The price is often tiered based on the amount of data managed or the number of database shards.
- Consumption-Based: For Redis Enterprise Cloud, pricing is consumption-based. Customers are billed based on the size of their database, their data throughput, the cloud provider they choose, and any additional features they enable.
- Professional Services: Redis also offers consulting, training, and implementation services to help large enterprises deploy and optimize their Redis usage.
Market Position and Competition
Redis consistently ranks as one of the most popular databases in the world, and it is the dominant leader in the key-value store category. Its adoption is widespread across industries. However, it operates in a highly competitive landscape.
Its main competitors can be grouped into several categories:
-
Other In-Memory Caches: The most direct competitor historically has been Memcached[8]. Memcached is simpler, multithreaded for I/O, and can be faster for simple key-value operations. However, Redis surpassed it in popularity due to its data structures, persistence, and broader feature set.
-
Cloud Provider Managed Services: The largest cloud providers offer their own managed services for open-source Redis. These include Amazon ElastiCache for Redis[9], Amazon MemoryDB for Redis[10], Google Cloud Memorystore[11], and Azure Cache for Redis. These services are direct competitors to Redis Enterprise Cloud. They offer convenience and deep integration with their respective cloud ecosystems but historically have not contributed financially to the Redis open-source project, a point of major contention for the company.
-
Competing In-Memory and NoSQL Databases: Other databases compete with Redis for specific use cases. Dragonfly[12] is a modern, multithreaded drop-in replacement for Redis that claims higher performance. Databases like ScyllaDB[13] and Apache Cassandra[14] are often chosen for massive datasets that do not fit in RAM. For document-oriented workloads, MongoDB[15] can also be a competitor.
Strengths, Criticisms, and Controversies
Redis has a strong reputation, but it is not without its limitations and has faced significant controversy.
Genuine Strengths
- Performance: Its in-memory architecture delivers extremely low latency and high throughput, making it a default choice for performance-critical applications.
- Versatility: The rich set of data structures allows it to be more than just a cache. It can serve as a primary database for certain application models, a message queue, a real-time analytics engine, and more.
- Simplicity and Ease of Use: Redis has a small footprint, is easy to install, and features a straightforward command-line interface. The learning curve for developers is relatively gentle.
- Vibrant Ecosystem: With over a decade of widespread use, Redis has a massive community, extensive documentation, and client libraries for nearly every programming language.
Limitations and Criticisms
- Memory as a Constraint: The primary strength of Redis is also its main limitation. Since the dataset must fit in RAM, costs can escalate quickly for very large datasets compared to disk-based systems. While features like Redis on Flash mitigate this, the core model is RAM-centric.
- Single-Threaded Command Execution: Redis executes commands in a single thread. While this simplifies the programming model and avoids locking complexities, it means a single long-running command can block all others. It also means Redis cannot take full advantage of modern multi-core CPUs for command processing. The introduction of I/O threading in Redis 6 helped offload network operations to other threads, but the command execution loop remains single-threaded.
- Durability Tradeoffs: Redis offers persistence through periodic snapshots (RDB) or an append-only file (AOF). However, in its default configuration, some data loss is possible in the event of a crash. While it can be configured for higher durability, it is generally not considered a replacement for strongly consistent, ACID-compliant databases like PostgreSQL for use cases like financial ledgers.
The Licensing Controversy
In March 2024, Redis announced a significant change to its licensing model[16]. Starting with version 7.4, all future releases of Redis would no longer be distributed under the permissive 3-clause BSD license. Instead, they would be dual-licensed under the Redis Source Available License (RSALv2) and the Server Side Public License (SSPLv1)[17]. Neither of these licenses is recognized as an open-source license by the Open Source Initiative (OSI).
The company stated that this change was necessary to protect its investment in the open-source project from cloud providers who were taking the code, offering it as a commercial service, and generating significant revenue without contributing back to the project's development. The SSPL, originally created by MongoDB for similar reasons, requires that any organization offering the software as a service must also release the source code of all supporting management and infrastructure software.
This move was met with immediate and widespread criticism from the open-source community. Critics argued that Redis was abandoning its open-source roots and creating a proprietary product. In response, a coalition of former Redis maintainers and major technology companies, including Amazon Web Services, Google Cloud, Oracle, and Ericsson, announced the creation of a fork[18]. This fork, named Valkey[19], is managed by the Linux Foundation and will continue development based on the last BSD-licensed version of Redis (7.2.4). Valkey aims to be a community-driven, permissively licensed alternative, ensuring that a truly open-source version of the technology continues to exist.
A Decision Lens for Technical Leaders
For technical leaders, the choice of whether and how to use Redis has become more complex. The decision now involves not just technical fit but also licensing and long-term strategy.
When to Choose Redis
Redis remains an excellent technical choice for a well-defined set of problems:
- Caching: This is the canonical use case. Implementing a caching layer with Redis to front a slower database is a standard and effective architectural pattern.
- Session Management: Storing user session data for stateful web applications is a perfect fit due to Redis's speed and built-in key expiration features.
- Real-Time Applications: Leaderboards (using Sorted Sets), real-time analytics (using Hashes and HyperLogLogs), and rate limiting are all efficiently implemented in Redis.
- Message Queues: Redis Lists and Streams provide lightweight, high-performance options for implementing background job queues and inter-service communication.
When to Reconsider
There are scenarios where Redis is not the best fit:
- Primary System of Record: For core business data requiring strong consistency and complex transactional guarantees (e.g., banking systems), a traditional RDBMS like PostgreSQL or a specialized NewSQL database is more appropriate.
- Large, Cold Datasets: If your dataset is many terabytes and most of it is infrequently accessed, a disk-optimized NoSQL database like Apache Cassandra, ScyllaDB, or DynamoDB will be far more cost-effective.
- Complex Data Analysis: Redis is not built for the kind of complex ad-hoc querying that data warehouses or SQL databases excel at. It lacks a rich query language for joins, aggregations, and subqueries.
The OSS vs. Enterprise vs. Fork Tradeoff
The licensing change introduces a critical decision point:
-
Redis Enterprise: For organizations that need the most advanced features like active-active geo-replication, extreme high availability, and dedicated expert support, Redis Enterprise is the logical choice. The cost is a direct payment for these premium capabilities and a reduced operational burden.
-
Cloud Provider Managed Services (e.g., ElastiCache): These services offer a middle ground. They manage the operational aspects of running Redis but are now based on an older version or, in the future, the Valkey fork. The key benefit is convenient integration with the cloud provider's ecosystem. The tradeoff is that they will not have the latest features developed by Redis Inc.
-
Valkey (The Fork): For teams committed to using a permissively licensed, community-driven version of the software, Valkey is the path forward. The main consideration is its youth. While based on a mature Redis codebase, its ecosystem, tooling, and long-term trajectory are still developing. Adopting Valkey is a bet on the community-driven model over the corporate-led one.
Ultimately, the decision rests on a balance of technical requirements, operational capacity, budget, and philosophy regarding open-source software. Redis created a technology that changed how applications are built, and the ongoing tension between its open-source origins and commercial ambitions continues to shape its future.
Sources (19)
- Wikipedia - Salvatore Sanfilippo
- antirez's blog - The end of the Redis adventure (via Archive.org)
- Crunchbase - Redis
- Nasdaq - Redis, Inc. Announces Pricing of Initial Public Offering
- Redis SEC Filing - Form 10-K for fiscal year 2024
- Redis GitHub - COPYING (BSD License)
- Redis Enterprise Cloud Overview
- Memcached Official Site
- AWS ElastiCache for Redis
- AWS MemoryDB for Redis
- Google Cloud Memorystore
- DragonflyDB
- ScyllaDB
- Apache Cassandra
- MongoDB
- Redis Blog - Redis Adopts Dual Source-Available Licensing
- MongoDB - Server Side Public License
- Linux Foundation - Launches Open Source Valkey Community
- Valkey Official Site