Redis 5.0, an upgrade to the Redis open source in-memory database, is now available as a release candidate, featuring a streams data type and new APIs. General availability of Version 5.0 is expected by 2019.
Anchoring the new version is streams. Redis’s builders are calling streams the most complex type in the platform even if the data structure itself is simple. Conceptually, streams is an abstract data type represented in memory, implementing more powerful operations to overcome limitations of the log file.
Streams offers a set of blocking operations for consumers to wait for new data added to a stream by producers. The consumer groups capability in streams allows a group of clients to cooperate while consuming different portions of the same stream of messages.
Redis 5.0 also features other new capabilities, including
- Modules SDK APIs have been added for Timers, for building periodic and blocking timers, and for Cluster, a message-bus abstraction for distributed systems. These two APIs will be the foundation for the Disque (pronounced “disk cue”) cueing system module.
- RDB files now can store LFU (least-frequently used) and LRU (least-recently used) information.
- Active defragmentation Version 2 offers an optimized capability for dealing with memory fragments.
- Better performance occurs when clients connect and disconnect often.
- Improved memory reporting provides a more granular approach to what can be found in memory.
- Version 5.1 of the Jemalloc dynamic memory allocation system offers more efficient algorithms for memory defragmentation.
- The cluster manager was ported from Ruby to C code.
- Implementations of the HyperLogLog data structure have been improved with refined algorithms, offering a more accurate cardinality estimation.
- Sorted sets commands are available, including
MAX. These commands are used in applications such as time series and leader boards.
- Many commands with subcommands now feature the
Where to download Redis 5.0
You can download Redis 5.0 from the Redis website.