This is the General Availability release of Redis 8.4 in Redis Open Source.
Major changes compared to 8.2
- DIGEST, DELEX; SET extensions - atomic compare-and-set and compare-and-delete for string keys
- MSETEX - atomically set multiple string keys and update their expiration
- XREADGROUP - new
CLAIMoption for reading both idle pending and incoming stream entries - CLUSTER MIGRATION - atomic slot migration
- CLUSTER SLOT-STATS - per-slot usage metrics: key count, CPU time, and network I/O
- Redis query engine: FT.HYBRID - hybrid search and fused scoring
- Redis query engine: I/O threading with performance boost for search and query commands (
FT.*) - I/O threading: substantial throughput increase (e.g. >30% for caching use cases (10%
SET, 90%GET), 4 cores) - JSON: substantial memory reduction for homogenous arrays (up to 91%)
Binary distributions
- Alpine and Debian Docker images - https://hub.docker.com/_/redis
- Install using snap - see https://github.com/redis/redis-snap
- Install using brew - see https://github.com/redis/homebrew-redis
- Install using RPM - see https://github.com/redis/redis-rpm
- Install using Debian APT - see https://github.com/redis/redis-debian
Operating systems we test Redis 8.4 on
- Ubuntu 22.04 (Jammy Jellyfish), 24.04 (Noble Numbat)
- Rocky Linux 8.10, 9.5
- AlmaLinux 8.10, 9.5
- Debian 12 (Bookworm), Debian 13 (Trixie)
- macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia)
Bug fixes (compared to 8.4-RC1)
- #14524
XREADGROUP CLAIMreturns strings instead of integers - #14529 Add variable key-spec flags to
SET IF*andDELEX - #P928 Potential memory leak (MOD-11484)
- #T1801, #T1805 macOS build failures (MOD-12293)
- #J1438
JSON.NUMINCRBY- wrong result on integer array with non-integer increment (MOD-12282) - #J1437 Thread safety issue related to ASM and shared strings (MOD-12013)
Performance and resource utilization improvements (compared to 8.4-RC1)
known bugs and limitations
- When executing
FT.SEARCH,FT.AGGREGATE,FT.CURSOR,FT.HYBRID,TS.MGET,TS.MRANGE,TS.MREVRANGE, andTS.QUERYINDEXwhile an atomic slot migration process is in progress, the results may be partial or contain duplicates FT.PROFILE,FT.EXPLAIN, andFT.EXPLACINCLIdo not contain theFT.HYBRIDoption- Metrics from
FT.HYBRIDcommand are not displayed onFT.INFOandINFO FT.HYBRID: theEXPLAINSCORE,SHARD_K_RATIO,YIELD_DISTANCE_AS, andWITHCURSORoptions are not supportedFT.HYBRID: post-filtering (afterCOMBINEstep) usingFILTERis not supportedFT.HYBRID: the default response format considers onlykey_idandscore. This may change for delivering the entire document content