-
Notifications
You must be signed in to change notification settings - Fork 335
DEV: add 8.6 what's new page #2693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,123 @@ | ||
| --- | ||
| title: Redis 8.6 | ||
| alwaysopen: false | ||
| categories: | ||
| - docs | ||
| - operate | ||
| - rs | ||
| - rc | ||
| description: What's new in Redis 8.6 | ||
| linkTitle: What's new in Redis 8.6 | ||
| weight: 2 | ||
| --- | ||
|
|
||
| Redis 8.6 builds on the foundation of Redis 8.4 with significant enhancements to stream reliability, memory management, and security features. | ||
|
|
||
| This release delivers major improvements across multiple areas: | ||
| - Stream idempotency with at-most-once delivery guarantees. | ||
| - New eviction policies for least recently modified data. | ||
| - Hot key detection and reporting capabilities. | ||
| - TLS certificate-based automatic client authentication. | ||
| - Enhanced time series support with NaN values and new aggregators. | ||
| - More than 15 performance and resource utilization improvements. | ||
|
|
||
| Below is a detailed breakdown of these updates. | ||
|
|
||
| ## Security improvements | ||
|
|
||
| Redis 8.6 includes important security and privacy enhancements: | ||
| - **Privacy protection**: Personally identifiable information is now hidden from ACL logs and server logs across Redis core and modules. | ||
| - **ACL security fix**: Fixed key-pattern bypass vulnerability in `MSETEX` command. | ||
| - **Module security**: Addressed out-of-bounds read vulnerability when loading invalid RDB files in RedisBloom. | ||
|
|
||
| ## New features | ||
|
|
||
| ### Stream idempotency | ||
|
|
||
| Redis 8.6 introduces powerful idempotency features for [Redis Streams]({{< relref "/develop/data-types/streams/" >}}) that provide at-most-once delivery guarantees: | ||
|
|
||
| - **IDMPAUTO argument**: Automatically generates idempotent identifiers for `XADD` operations. | ||
| - **IDMP argument**: Allows manual specification of idempotent identifiers. | ||
|
|
||
| These features prevent duplicate entries in streams, making Redis Streams more reliable for critical data processing pipelines where duplicate processing could cause issues. | ||
|
|
||
| ### Enhanced memory management | ||
|
|
||
| Redis 8.6 introduces new [eviction policies]({{< relref "/develop/reference/eviction/" >}}) that provide more granular control over memory management: | ||
|
|
||
| - **volatile-lrm**: Evicts keys with expiration times based on least recently modified criteria. | ||
| - **allkeys-lrm**: Evicts any keys based on least recently modified criteria. | ||
|
|
||
| These policies complement existing LRU (Least Recently Used) policies by focusing on modification patterns rather than access patterns, providing better control for write-heavy workloads. | ||
|
|
||
| ### Hot key detection | ||
|
|
||
| The new [`HOTKEYS`]({{< relref "/commands/hotkeys/" >}}) commands enable real-time detection and reporting of frequently accessed keys. This feature helps identify performance bottlenecks and optimize data distribution in clustered environments. | ||
|
|
||
| ### TLS certificate-based authentication | ||
|
|
||
| Redis 8.6 introduces automatic client authentication using TLS certificates. This feature streamlines secure connections by automatically mapping TLS certificates to Redis users, reducing the need for password-based authentication in certificate-enabled environments. | ||
|
|
||
| ### Enhanced time series capabilities | ||
|
|
||
| Redis 8.6 extends [time series]({{< relref "/develop/data-types/timeseries/" >}}) functionality with: | ||
|
|
||
| - **NaN value support**: Time series can now store and process Not-a-Number values for incomplete or invalid data points. | ||
| - **New aggregators**: `COUNTNAN` and `COUNTALL` aggregators provide better analytics for datasets containing NaN values. | ||
|
|
||
| ## Improvements | ||
|
|
||
| Redis 8.6 delivers substantial performance improvements across core operations and data structures. | ||
|
|
||
| ### Performance optimizations | ||
|
|
||
| - **Reply optimization**: Copy-avoidance path reduces memory copies for bulk string replies. | ||
| - **Data structure improvements**: Hash and sorted set operations benefit from unified field/value and score/value structures. | ||
| - **Iterator optimization**: Improved listpack iterator performance for hash field operations. | ||
| - **Command optimization**: Enhanced `ZRANK` performance and optimized set commands with expiration. | ||
| - **Prefetching enhancements**: Improved prefetching logic and sizing algorithms. | ||
| - **Hardware utilization**: ARM AArch64 systems now utilize hardware clocks by default for better performance. | ||
|
|
||
| ### Replication improvements | ||
|
|
||
| - **Diskless replication**: RDB compression is now disabled during diskless replication to improve transfer speeds. | ||
| - **Configuration flexibility**: New `flushdb` option for `repl-diskless-load` provides better control over dataset handling during replication. | ||
|
|
||
| ## Configuration enhancements | ||
|
|
||
| Redis 8.6 introduces new configuration parameters that provide greater control over system behavior: | ||
|
|
||
| - **Stream idempotency**: `stream-idmp-duration` and `stream-idmp-maxsize` control default settings for idempotent stream production. | ||
| - **TLS authentication**: `tls-auth-clients-user` enables certificate-based automatic client authentication. | ||
| - **Memory policies**: Support for new `volatile-lrm` and `allkeys-lrm` eviction policies. | ||
|
|
||
| ## Modules API enhancements | ||
|
|
||
| Redis 8.6 extends the modules API with new key metadata capabilities: | ||
|
|
||
| - **RM_CreateKeyMetaClass**: Define new key-metadata classes for custom data organization. | ||
| - **RM_ReleaseKeyMetaClass**: Release key-metadata classes when no longer needed. | ||
| - **RM_SetKeyMeta**: Attach or update metadata values for keys under specific metadata classes. | ||
| - **RM_GetKeyMeta**: Retrieve metadata values for keys under specific metadata classes. | ||
|
|
||
| These APIs enable module developers to associate custom metadata with Redis keys, opening new possibilities for advanced data management and analytics. | ||
|
|
||
| ## Component versions | ||
|
|
||
| Redis 8.6 continues the unified distribution approach, delivering all functionality in a single Redis Open Source package without separate modules. This includes: | ||
|
|
||
| - **RedisTimeSeries**: Enhanced with NaN value support and new aggregation functions. | ||
| - **RedisBloom**: Improved security with RDB loading fixes and atomic slot migration support. | ||
| - **RedisJSON**: Better privacy protection and enhanced atomic slot migration capabilities. | ||
|
|
||
| ## Known limitations | ||
|
|
||
| When using Redis 8.6, be aware of this current limitation: | ||
|
|
||
| - **Redis Query Engine**: During load rebalancing operations (such as Atomic Slot Migration), cursors may miss some results due to data movement between nodes. | ||
|
|
||
| ## Component versions | ||
|
|
||
| Redis 8.6 continues the unified distribution approach, delivering all functionality in a single Redis Open Source package without separate modules. | ||
|
|
||
| - [Redis 8.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisos-8.6-release-notes" >}}) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.