[RELEASE] Redis 5 is out!

1,880 views
Skip to first unread message

Salvatore Sanfilippo

unread,
Oct 17, 2018, 11:45:20 AM10/17/18
to redi...@googlegroups.com
Hi all! Redis 5 is finally out... 1 year and 3 months after the
release of Redis 4, making Redis having a gestation length surely
greater than humans, and very similar to the one of whales.

So to make the pill sweeter, let's start with a recap of what you get
with Redis 5:

1. The new Stream data type. https://redis.io/topics/streams-intro
2. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
3. RDB now stores LFU and LRU information.
4. The cluster manager was ported from Ruby (redis-trib.rb) to C code
inside redis-cli. Check `redis-cli --cluster help` for more info.
5. New sorted set commands: ZPOPMIN/MAX and blocking variants.
6. Active defragmentation version 2.
7. Improvemenets in HyperLogLog implementations.
8. Better memory reporting capabilities.
9. Many commands with sub-commands now have an HELP subcommand.
10. Better performances when clients connect and disconnect often.
11. Many bug fixes and other random improvements.
12. Jemalloc was upgraded to version 5.1
13. CLIENT UNBLOCK and CLIENT ID.
14. The LOLWUT command was added. http://antirez.com/news/123
15. We no longer use the "slave" word if not for API backward compatibility.
16. Differnet optimizations in the networking layer.
17. Lua improvements:
- Better propagation of Lua scripts to slaves / AOF.
- Lua scripts can now timeout and get in -BUSY state in the slave as well.
18. Dynamic HZ to balance idle CPU usage with responsiveness.
19. The Redis core was refactored and improved in many ways.

However the list above really does not do justice to the changes of Redis 5
since the core was improved in many ways during the development of the new
version. Certain changes were back ported into Redis 4 once they were
sensed as safe, because many improvements were hard to distinguish from fixes.

The most important user facing improvement is without doubts the introduction
of the new general purpose data type after years: the streams.

Note that we worked to improve and fix streams till a few hours ago, so while
we are not aware of critical bugs in this release, surely there is to handle it
with some care for the first weeks. Bug reporting will be highly appreciated and
we are ready to work immediately to release 5.0.1 once there is enough important
stuff to justify a new release (probably soon).

People not using the streams can have probably a better production-ready
experience with Redis 5, also because many internals are shared with Redis 4
so the jump is not as big as it was between 3.2 and 4 in terms of how things
internally work. Yet around Lua scripting there are certain
implementation differences.

Well, many thanks to the Redis community and the developers that made
this release possible, contributing bug reports, patches, new features, working
on the clients, sometimes debugging problems for days. Also thank to everybody
that adopted Redis for their use cases making things work for users worldwide.

We can boldly say that Redis 5 is definitely the product of many
developers and companies working together to build something together,
which is great!

Where to grab it?

As usually... https://redis.io for tarballs, or the 5.0.0 tag on Github.
The sha256 digests are as usually here: https://github.com/antirez/redis-hashes

Have fun,
Salvatore

--
Salvatore 'antirez' Sanfilippo
open source developer - Redis Labs https://redislabs.com

"If a system is to have conceptual integrity, someone must control the
concepts."
— Fred Brooks, "The Mythical Man-Month", 1975.

Joel VanderKwaak

unread,
Oct 17, 2018, 12:10:19 PM10/17/18
to redi...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "Redis DB" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redis-db+u...@googlegroups.com.
To post to this group, send email to redi...@googlegroups.com.
Visit this group at https://groups.google.com/group/redis-db.
For more options, visit https://groups.google.com/d/optout.

Joel VanderKwaak

unread,
Oct 17, 2018, 12:11:09 PM10/17/18
to redi...@googlegroups.com
argh.... sorry. was trying to forward that.

Time for coffee.

Salvatore Sanfilippo

unread,
Oct 17, 2018, 3:05:43 PM10/17/18
to redi...@googlegroups.com
NP! Cheers

Pedro Melo

unread,
Oct 18, 2018, 12:09:22 AM10/18/18
to redi...@googlegroups.com
Congratulations, this looks to be a excellent release :)

Sent from my iPhone

anupong bovorrattanapran

unread,
Oct 18, 2018, 12:14:44 AM10/18/18
to redi...@googlegroups.com
thank you so much. 

ในวันที่ พฤ. 18 ต.ค. 2018 เวลา 11:09 Pedro Melo <me...@simplicidade.org> เขียนว่า:

anupong bovorrattanapran

unread,
Oct 18, 2018, 12:15:12 AM10/18/18
to redi...@googlegroups.com
thank you so much.


ในวันที่ พ. 17 ต.ค. 2018 เวลา 22:45 Salvatore Sanfilippo <ant...@gmail.com> เขียนว่า:

Wayne Gemmell

unread,
Oct 18, 2018, 2:15:59 AM10/18/18
to redi...@googlegroups.com
Hi

Where can I find info about timers?

Salvatore Sanfilippo

unread,
Oct 18, 2018, 2:25:51 AM10/18/18
to redi...@googlegroups.com
Thanks everybody for the congrats! Wayne: there is an example of
timers in src/modules/hellotimer.c
The gist of it is that you can register times that fire with a
callback, and the callback has a context where you can call Redis
modules commands and other APIs. A very important aspect of all that
is that modules timers have their own internal scheduler, so we ask
for help from the event-loop only in order to sleep till the next
timer. This means that timers are designed so that you can register
from a module even million of timers without having scalability
issues.

vattez...@gmail.com

unread,
Oct 18, 2018, 8:44:55 AM10/18/18
to Redis DB
Congratulations, awesome version !

在 2018年10月17日星期三 UTC+8下午11:45:20,Salvatore Sanfilippo写道:

DV Ramesh

unread,
Oct 20, 2018, 12:30:16 PM10/20/18
to Redis DB
Good Information.

manjeet kumar

unread,
Oct 21, 2018, 7:51:39 AM10/21/18
to Redis DB
That's super cool way of announcing something on Google groups. Fairly simple and yet precise list of Redis 5.0 improvements.

Moises Berenguer

unread,
Aug 29, 2019, 3:58:00 AM8/29/19
to Redis DB
Definitely awesome,

I have a lot of expectations in this version
Really proud of your work 
Reply all
Reply to author
Forward
0 new messages