Skip to content

Updating what's new for Redis 8 #1542

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
161 changes: 80 additions & 81 deletions content/develop/whats-new/8-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,87 +8,86 @@ categories:
- operate
- rs
- rc
description: What's new in Redis 8 in Redis Open Source
linkTitle: What's new in Redis 8.0
description: What's new in Redis 8
linkTitle: What's new in Redis 8
weight: 5
---

## Highlights

- **Name change**: Redis Community Edition is now **Redis Open Source**
- **License options**:
- Redis Source Available License 2.0 (RSALv2)
- Server Side Public License v1 (SSPLv1)
- GNU Affero General Public License (AGPLv3)

- **Integrated modules** now part of core:
- JSON
- Probabilistic: Bloom, Cuckoo, Count-min sketch, Top-K, and t-digest
- Time Series
- [Vector sets (preview)]({{< relref "/develop/data-types/vector-sets/" >}})
- [Redis Query Engine]({{< relref "/develop/interact/#search-and-query" >}}) with horizontal & vertical scaling
- All components available in Redis binary distributions
- New config file: `redis-full.conf` for full component loading

## New Commands

- **Hash with expiration support**:
- `HGETDEL` – get and delete hash field
- `HGETEX`, `HSETEX` – get/set hash fields with expiration
- **Field TTL & expiration (7.4+)**:
- `HEXPIRE`, `HPEXPIRE`, `HEXPIREAT`, `HPEXPIREAT`
- `HPERSIST`, `HEXPIRETIME`, `HPEXPIRETIME`, `HTTL`, `HPTTL`
- **Other command additions**:
- `XREAD +` – read latest stream entry
- `HSCAN NOVALUES` – scan hash field names only
- `SORT` in cluster mode with `BY` and `GET`
- `CLIENT KILL MAXAGE`
- Lua: `os.clock()` now available
- `SPUBLISH` in `MULTI/EXEC` transactions on replicas
- [Vector set command group (preview)]({{< relref "/commands/?group=vector_set" >}})

## Internal Architecture

- **I/O threading overhaul**: read+write threading for higher throughput
- **Replication**: improved mechanism with AOF offset support
- **Over 30 performance optimizations**:
- Optimized: `GET`, `EXISTS`, `LRANGE`, `HSET`, `XREAD`, `SCAN`, `ZADD`, `ZUNION`, `PFCOUNT`, `HSCAN`, and more
- Improved latency, memory, and CPU utilization

## Security

- CVE-2024-46981: Lua RCE
- CVE-2024-51741: ACL DoS
- CVE-2024-31449, 31227, 31228: DoS in Lua/ACLs

## Packaging

Redis 8 in Redis Open Source is available in the following distributions:

- [Docker](https://hub.docker.com/_/redis)
- APT
- RPM
- Snap
- Homebrew
- Pre-built binaries
- [Source code](https://github.com/redis/redis/releases/tag/8.0-rc1)

## Observability

- New `INFO` sections:
- `KEYSIZES`, `Threads`
- Hash expiration stats
- Client buffer disconnection counters
- Dictionary memory rehashing
- Script eviction stats

## Upgrades & Support

- Supports upgrade from:
- Redis 7.x with or without modules
- Redis Stack 7.2 and 7.4
- Supported operating systems:
- Ubuntu 20.04 / 22.04 / 24.04
- Debian 11 / 12
- macOS 13–15
- Rocky/Alma Linux 8.10 / 9.5
Redis 8.0 introduces powerful new capabilities, including the beta release of the Vector Set data structure, designed for AI use cases such as semantic search and recommendation systems.

This release also delivers over 30 performance improvements, including:
- Up to 87% faster command execution
- Up to 2x higher throughput
- Up to 18% faster replication

Additionally, the Redis Community Edition has been renamed to Redis Open Source, marking a shift toward a unified, modern distribution. This version offers the full power of Redis — no modules, no fragmentation — just Redis.

Below is a detailed breakdown of these updates.

## New features
### Vector set [beta]
The new `Vector set` data structure supports high-dimensional vector similarity search, which is ideal for AI use cases such as semantic search and recommendation systems. Vector set complements Redis’s existing vector search capabilities via the Query Engine and is currently available in beta. APIs and behaviors may change in future releases.

### New hash commands
Redis 8 builds on Redis 7.4’s introduction of field-level expiration in hashes and adds three new commands for working with hashes:
- [HGETEX](https://redis.io/docs/latest/commands/hgetex/): Fetch a hash field and optionally set an expiration
- [HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set a hash field and optionally set an expiration
- [HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Fetch and delete a hash field

These commands simplify common caching and session management usage patterns.

## Improvements
### Redis Query Engine Improvements
The Redis Query Engine allows users to use Redis as a document database, a vector database, a secondary index, and a search engine. With Redis Query Engine, users can define indexes for hash and JSON documents, and use a rich query language for vector search, full-text search, geospatial queries, and aggregations.

Use cases include:

- Vector Search: Search based on semantic similarity using vector embeddings stored in `JSON` or `hashes`
- Exact Matching: Lookups using filters, tags, and ranges
- Full-Text Search: Supports stemming, synonyms, and fuzzy matching

The Redis Query Engine powers a wide range of applications, from AI retrieval-augmented generation (RAG) systems to full-featured search engines.

### Access Control Improvements
Access Control Lists (ACLs) have been updated to support the new data structures introduced in Redis 8. Existing ACL categories such as `@read` and `@write` now include commands for `JSON`, `time series`, `VECTOR`, and `probabilistic` data structures.

These updates allow for more precise control over which operations users can perform on each data structure.

### Performance improvements
Redis 8 delivers the largest performance leap in Redis history with over 30 optimizations, including:
- Up to 87% lower command latency
- 2x throughput in multi-threaded workloads
- 35% memory savings for replica nodes
- 16x more query processing capacity with horizontal and vertical scaling

These improvements benefit both single-node and clustered deployments. More details are available in the [Redis 8 GA](https://redis.io/blog/redis-8-ga/) blog post.

## Changes

### Breaking changes
#### ACL behavior
Commands from included modules are now covered under standard categories (e.g., `+@read`, `+@write`). A user with `+@all` `-@write` will no longer be able to execute `FT.SEARCH` as they could before.
Explicit inclusion of new command categories is required to maintain access.

#### Redis Query Engine
The following changes affect behavior and validation in the Redis Query Engine:
- Enforces validation for `LIMIT` arguments (offset must be 0 if limit is 0).
- Enforces parsing rules for `FT.CURSOR READ` and `FT.ALIASADD`.
- Parentheses are now required for exponentiation precedence in `APPLY` expressions.
- Invalid input now returns errors instead of empty results.
- Default values revisited for reducers like `AVG`, `COUNT`, `SUM`, `STDDEV`, `QUANTILE`, and others.
- Updates to scoring (`BM25` is now the default instead of `TF-IDF`).
- Improved handling of expired records, memory constraints, and malformed fields.

For a full list of the Redis Query Engine-related changes, see the [release notes](https://github.com/redis/redis/releases).

### Other changes
#### One Redis
Over time, Redis introduced several modules to address new use cases such as search, vector similarity, time series analysis, and probabilistic modeling. While these modules extended Redis’s functionality, managing version compatibility and module installation introduced friction.

Redis Stack partially solved this by bundling modules together, but it also created fragmentation across the ecosystem.

Redis 8 merges Redis Stack and Redis Community Edition into a single unified distribution: Redis Open Source. All previously modular functionality is now built into the Redis Open Source package, eliminating the need to manage separate modules. You now get a single, consistent feature set across all deployments.

## Component versions
Redis 8.0 delivers just Redis — no modules, no fragmentation.
Loading