Redis 8.4
What's new in Redis 8.4 RC1
Redis 8.4 builds on the foundation of Redis 8.2 with significant enhancements to cluster operations, string manipulation, and stream processing capabilities.
This release delivers major improvements across multiple areas:
- Atomic cluster slot migration for zero-downtime operations
- Enhanced string operations with atomic compare-and-set functionality
- Advanced stream processing with idle entry claiming
- Hybrid search capabilities combining multiple ranking algorithms
- High-performance SIMD optimizations for bit operations and vector processing
- Improved JSON handling with better memory efficiency
Below is a detailed breakdown of these updates.
New features
Atomic cluster operations
Redis 8.4 introduces the CLUSTER MIGRATION command, which enables atomic slot migration between cluster nodes. This command ensures zero-downtime cluster operations by moving slots and their associated data in a single atomic operation, eliminating the brief unavailability window that previously occurred during slot migrations.
Enhanced string operations
Redis 8.4 extends string manipulation capabilities with powerful new commands that enable atomic compare-and-set operations:
DELEX: Delete a key only if its value matches a specified condition.DIGEST: Generate cryptographic digests of key values for integrity verification.
The SET command now supports atomic compare-and-set and compare-and-delete operations through new extensions, enabling you to implement lock-free data structures and optimistic concurrency control patterns.
Multi-key expiration management
The new MSETEX command allows you to set multiple keys and update their expiration times in a single atomic operation. This simplifies batch operations where you need to maintain consistent TTL values across related keys.
Advanced stream processing
Redis 8.4 enhances stream processing with the CLAIM min-idle-time option for XREADGROUP. This feature enables consumer groups to automatically claim and process both idle pending entries and new incoming entries in a single operation, simplifying consumer group management and improving processing efficiency.
Hybrid search capabilities
The new FT.HYBRID command introduces hybrid queries that combine multiple ranking algorithms using Reciprocal Rank Fusion (RRF) and linear combination methods. This enables you to create sophisticated search experiences that leverage both semantic similarity and traditional text matching.
Enhanced AOF reliability
Redis 8.4 introduces auto-repair options for corrupted AOF (Append Only File) tails during startup. The new aof-load-corrupt-tail-max-size configuration parameter allows Redis to automatically repair minor AOF corruption, improving system resilience and reducing manual intervention requirements.
Improvements
Redis 8.4 delivers substantial performance improvements through advanced SIMD optimizations and enhanced algorithms.
Performance optimizations
- BITCOUNT: Enhanced with AVX2 and AVX512 popcount implementations for x86 architectures, plus Arm Neon SIMD vectorization for ARM processors.
- HyperLogLog: Optimized with branchless comparisons and Arm Neon SIMD vectorization for improved cardinality estimation performance.
- Vector operations:
VADDandVSIMcommands benefit from AVX2 and AVX512 dot product implementations for faster vector processing. - Command processing: New lookahead prefetching parses multiple commands in advance through a lookahead pipeline, reducing processing latency.
Memory efficiency improvements
- JSON data types: Improved memory footprint through homogeneous array optimization and short string inlining.
- Lua integration: Enhanced JSON array handling with the new
decode_array_with_array_mtconfiguration parameter for better memory utilization.
Search and indexing enhancements
Redis 8.4 introduces several improvements to search functionality:
- Default scoring: The new
search-default-scorerparameter sets BM25STD as the default text and tag scorer, providing better relevance ranking out of the box. - OOM handling: The
search-on-oomparameter controls query behavior during out-of-memory conditions, with options to ignore, fail, or return partial results. - Multi-threading: The
search-io-threadsparameter allows you to configure communication threads for cluster manager coordination, improving search performance in clustered environments. - Index updates: Search indexes now support updates during atomic slot migrations, maintaining search functionality during cluster operations.
Enhanced configuration
Redis 8.4 introduces new configuration parameters that give you greater control over system behavior:
lookahead: Runtime-configurable lookahead depth for command prefetching (default: 16)aof-load-corrupt-tail-max-size: Maximum corrupted tail size for automatic AOF repairdecode_array_with_array_mt: Controls how Lua handles empty JSON arrays
Component versions
Redis 8.4 continues the unified distribution approach, delivering all functionality in a single Redis Open Source package without separate modules. This includes:
- RedisTimeSeries: Enhanced with
HELPandCOMMAND DOCSsupport for time series commands - RedisBloom: Improved with
HELPandCOMMAND DOCSsupport for probabilistic commands - RediSearch: Advanced hybrid search capabilities and improved cluster coordination
Known limitations
When using Redis 8.4, be aware of these current limitations:
- Search commands (
FT.SEARCH,FT.AGGREGATE,FT.CURSOR,FT.HYBRID) and time series commands (TS.MGET,TS.MRANGE,TS.MREVRANGE,TS.QUERYINDEX) may return partial results or duplicates during atomic slot migration. FT.PROFILE,FT.EXPLAIN, andFT.EXPLAINCLIdon't includeFT.HYBRIDoptions.FT.HYBRIDmetrics aren't displayed inFT.INFOandINFOcommands.- Several
FT.HYBRIDoptions (EXPLAINSCORE,SHARD_K_RATIO,YIELD_DISTANCE_AS,WITHCURSOR) are not yet available. - Post-filtering after the
COMBINEstep usingFILTERis not currently supported.