![decorative image for blog on Redis alternatives](/sites/default/files/image/2024-05/image-ol-redis-alternatives.jpg.jpeg)
Exploring Redis Alternatives
Is your organization impacted by the recent Redis license change? If so, it may be time to consider Redis alternatives to avoid paying fees.
In this blog, our database expert explains what the change means, who is affected, and which open source data technologies might be suitable enterprise alternatives to Redis.
Redis License Change: What It Means
Earlier this year in March, Redis CEO Rowan Trollope announced a seismic shift in the licensing of future versions of Redis, the popular open source in-memory key-value store. Starting with version 7.4, Redis will no longer be available under the open source BSD-3 Clause license. Following other widely adopted open source projects like Terraform and Elasticsearch, they are adopting a new “dual license” approach. Redis will now be dual-licensed under the Redis Source Available License (RSALv2) and Server Side Public License (SSPLv1).
What does this change actually mean? Well, if your organization doesn’t fall under the designation of a managed service provider, not a whole lot. Redis will still be releasing a community edition of the project with the code base freely available. However, if you provide hosted Redis services like Google Cloud’s Memorystore and AWS’s Elasticache, or if you package Redis for sale in your software distributions, it is a big change in terms of licensing. Managed service providers will no longer be able to provide Redis services or distribution without paying for it (and becoming part of the Redis Partner ecosystem).
Back to topValkey: The New Redis Fork
Valkey joins OpenTofu and OpenSearch as the latest fork resulting from a license change. Unsurprisingly, the cast of characters behind these forks are pretty similar. Google, AWS, Oracle and few other heavyweights who are affected the most by this change are now putting their efforts behind Valkey, with The Linux Foundation acting as the governing body on the project. Valkey will maintain its distribution under the BSD license. For managed service providers and those who prefer to maintain a truly open source ecosystem, Valkey will be the most likely alternative for a drop-in replacement to Redis.
Back to topRedis Alternatives
When considering Redis alternatives, it's important to consider what it is that Redis does exactly. Redis is an in-memory key-value database, so any alternative would need to meet that criterion. There are also other features we should keep in mind as well, like clustering services for high availability and effective management utilities. Any database can act as a key-value store (even an Excel spreadsheet!) but without in-memory functionality or enterprise-level services for things like high availability, they would not be a suitable replacement.
In addition to base functionality, we should also think about how heavy a footprint a project leaves in our infrastructure. Redis was designed specifically for the tasks it does, and therefore does not have a lot extraneous functionality that causes unneeded overhead in our infrastructure. Some alternatives might meet the basic functionality needed for an in-memory key-value store, but the footprint it takes up in our infrastructure might not be desirable.
Redis vs. Memcached
In terms of an in-memory key-value caching engine, Memcached is at the top of the list as far as Redis alternatives go. While there is a lot of functionality in Redis that is not duplicated by Memcached — such as data persistence, support for advanced data structures, and LUA scripting — if your use case for Redis is purely an in-memory key-value cache, Memcached would be an excellent option. Memcached is extremely lightweight and supports multi-threaded architectures along with high availability.
Redis vs. Hazelcast
Hazelcast is an in-memory data grid that is well-suited for use as an in-memory key-value store, providing high performance and scalability for distributed data management. Its ability to handle complex data structures and provide high availability and fault tolerance makes it a strong choice. However, Hazelcast comes with higher complexity and resource requirements compared to simpler solutions like Memcached, making it more suitable for use cases that can leverage its advanced features and need for distributed computing and real-time processing.
Decision Maker's Guide to Open Source Databases
This white paper compares the top open source top open source relational, graph, wide column, key-value, and document databases including PostgreSQL, MySQL, MariaDB, Cassandra, Hadoop, Redis, etcd, Elasticsearch, Prometheus, Couchbase, MongoDB, and Jackrabbit.
Redis vs. etcd
Very much in the same vein as Memcached, etcd is another excellent option for an in-memory key-value cache. It has similar differences to Redis as Memcached; however, etcd doesn’t provide the same performance profile as Memcached. Where etcd excels are scenarios that require reliable coordination and consistent state across distributed components.
Etcd implements the RAFT protocol for data consistency, which means that a majority of cluster members must agree on the data before commits, and this understandably can affect performance. However, this level of data consistency is one of the main reasons etcd is utilized as the backing key-value store for Kubernetes. Being closely integrated with Kubernetes also means that many organizations are already utilizing etcd in their enterprises.
Redis vs. Cassandra
Apache Cassandra is a highly scalable and distributed NoSQL database designed to handle large amounts of data across many commodity servers with no single point of failure. While it is not primarily designed as an in-memory key-value store, it can be configured to function with in-memory characteristics.
Cassandra is fundamentally designed as a disk-based database. Although it offers caching mechanisms (e.g. key cache, row cache), it still relies on disk I/O for durability, which can introduce latency compared to pure in-memory stores like Redis or Memcached. Also, the Cassandra architecture does introduce additional complexity. For most key-value store use cases, Cassandra could easily be considered overkill. However, in organizations that are already using Cassandra or have complex geo-distributed use cases, Cassandra could be a valid Redis alternative.
Redis vs. Couchbase
Couchbase is a NoSQL database that combines the capabilities of a document store and a key-value store, making it a versatile choice for various data storage needs. It includes an integrated caching layer, which allows it to function efficiently as an in-memory key-value store. Much like Cassandra, the complexity of Couchbase might make it a poor choice for most key-value store use cases, but organizations that are already using Couchbase might consider leveraging its robust functionality and mature enterprise-level features to replace Redis.
Redis vs. MongoDB
Like Cassandra and Couchbase, MongoDB is another NoSQL database that has a much larger feature set than what would be required of a lightweight in-memory key-value store. It does, however, have an in-memory storage engine that would make it a suitable Redis alternative for organizations that are already using MongoDB.
Redis vs. Kafka
While it has stream processing capabilities, Kafka is not a database, making it unsuitable as an alternative to Redis. Read my blog on Kafka vs. Redis for a full comparison of features and ideal use cases for each, as well as scenarios where Redis and Kafka could be deployed together.
Back to topFinal Thoughts
Open source licensing changes often make headlines but sometimes it's much ado about nothing. With this particular change, the primary impact will be felt by major cloud service providers that have been utilizing Redis. Most developers will be able to continue to access the free community version. However, as your organization's data needs evolve over time, it may be a worthwhile exercise to compare data technologies and if you're using Redis, consider if it's still the right fit.
Need Help With Redis or Another Open Source Database?
OpenLogic provides technical support and professional services including migrations for open source data technologies including Redis, Postgres, Hadoop, Cassandra, InfluxDB and more.
Additional Resources
- White Paper - Decision Maker's Guide to Open Source Databases
- Blog - How Does Open Source Licensing Work?
- Blog - State of Open Source Report: Top Open Source Databases
- Guide - Introduction to Open Source Databases
- Blog – Overview of Open Source Key-Value Databases
- On-Demand Webinar – Monitoring Java Applications With Prometheus and Grafana
- Blog – How To Visualize Prometheus Data with Grafana