The latest Redis database major version has been just released on the platform. Redis 5.0 is also the new default version when you provision a database. As usual, upgrading is an easy one-click process.
Redis 5.0 has been released with a few changes, and one major change that is worth the discovery: streams. Stream is the first new data structure in Redis since April 2014! For a comprehensive view on the novelty of this release, you can refer to the official release note.
The stream data structure can be seen as a log-like data structure. A log file
is opened in append only mode with a notion of timestamp included with each item
added. In the case of the streams data structure, data appended are key-value.
The analogy with log files does not stop here. When using Redis streams, you
have one entity producing line of logs and possibly multiple entities reading
the logs, just like you would do with a tail -f
.
In terms of Redis commands, this new release introduced 13 commands related to
streams. Here is a comprehensive list of
them. They all start with the X
letter.
The most important one being XADD
which lets
you append one or multiple key-value to the stream. It's format is:
XADD key ID field string [field string ...]
After adding some data in your Redis stream, you can chose among different ways to query this data structure:
tail -f
in the Linux world
(using XREAD
).XRANGE
).XGROUP
,
XREADGROUP
and
XACK
.More information about streams on this great introduction in the official documentation.
As usual, the upgrading process on Scalingo is as simple as clicking a button on the database dashboard. The following picture shows the message you will see on your database dashboard if you are running the latest 4.0 version (i.e. Redis 4.0.14 at the time of writing):
This upgrade can take some time for the largest databases. Unless your database uses a Business plan, the upgrade process will induce a short downtime. Indeed, all Redis databases using a Business plan include a high availability setup and you will be able to upgrade your database without downtime. Our scheduler is able to achieve this zero-downtime upgrade by following the recommended step from Redis: upgrade all the sentinels and upgrade the follower, then manually failover for the upgraded follower to take the leadership. Eventually upgrade the previous master. Here you are, all the nodes are upgraded and the database suffered no downtime!
Version 5.0.4 has been released. You can find the corresponding Docker images on our Docker Hub repository.
Redis 5.0 does not have known incompatibility with the previous 4.0 version. Hence upgrading to this new version should not impact your code. However, you are strongly advised to test that your code still works with the new database version. To ease this task, you can pull the Redis version you need from our public Docker Hub repository and test it locally, with your code, on your workstation before updating.
At Scalingo (with our partners) we use trackers on our website.
Some of those are mandatory for the use of our website and can't be refused.
Some others are used to measure our audience as well as to improve our relationship with you or to send you quality content and advertising.