TL;DR: Compose Redis has left Beta. We've also given users an option to use Redis as a cache and set cache policies.
Compose Redis is now out of beta as we promote it to the top table of Compose databases joining MongoDB and Elasticsearch. Redis brings a high-performance in-memory database to Compose's database stack and over the past few months our customers have been able to plug their applications into that powerful option.
Where does Redis fit into an application? Well, many applications' models include structures such as queues and caches. They turn up in the glue between the various components of applications as they pass information between each other. Although you can create collections or tables which work like those structures within many databases, it's usually not the swiftest or most reliable way to do it.
As everything scales up, those queues and caches begin to slow down and as they slow down everything else slows down. A pragmatic person would wonder if those particular data structures could be moved to another database, one that is built for that kind of data and that's where Redis comes in. It's a key/value store where it's up to the developer how they design their key namespace and whether they persist or automatically expire. Behind each key is the value and that can be a simple string value, list, capped list, blocking list, hash, set or sorted set Redis data type.
Aggregation counters, message queues, availability lists, selection sets and many other patterns can be modelled in Redis and – because it has a lightweight TCP protocol and runs in memory – be consumed and changed quickly and reliably by multiple clients. Add to that the ability to publish and subscribe to notifications about changes and you have a powerful data router/switch to act as your application glue and that's how we've seen Redis deployed during the Compose beta period.
Over the course of the beta, we've been tuning and enhancing how we deliver Redis on Compose. In December, it was one of the database technologies we took to Europe and made resident at Amazon's EU West 1 datacenter in Ireland. In January, we started offering SSH access by request for Redis users as another way to talk to your Redis database.
Most importantly, at the start of February, we rolled out the Redis Data Browser to put your Redis data at your fingertips. From the Compose dashboard it is now possible to browse, create and edit keys and values within your Redis deployment.
We weren't done though and within days we had enhanced the data browser with improved hash, list and set scanning.
The final beta phase enhancement involves enabling the use of Redis as a cache. By default, all Compose deployments have an auto-scaling system and, as demand for resources grows so we expand the resources available. With Redis though, some users like to use it as a cache, with a more consistent amount of memory, so we now allow you to switch to cache mode where it will scale much less aggressively. You'll find the button to toggle the cache mode under Settings, Redis as a Cache.
The other part of using Compose Redis as a cache is setting the cache policy. This decides how keys are evicted from memory when the memory limit is reached. So we've also added a 'Change Maxmemory Policy' panel which lets you tune how your deployment responds. There's a range of Redis policies available including no eviction, LRU, volatile LRU, random, volatile random and volatile TTL. The volatile policies target keys that have an expire value set. The default policy is volatile-lru. You can read more about the eviction policies in the Redis documentation - note that these policies apply to the Redis database whether in or out of cache mode.
With these new features, Compose Redis has now passed all our internal qualifiers to let it move from Beta to full public release and is ready for all production use. For $18.50 a month you can have a Redis cluster with 256MB of RAM per node and each extra 256MB of RAM is $13 per month. If you're new to Compose, you can signup for a 30 day free trial to try out Redis and the other Compose databases.