Redis 8.0
Redis 开源版 Redis 8 中的最新动态
主要亮点
-
名称变更:Redis Community Edition 现已更名为 Redis Open Source
-
许可证选项:
- Redis 可用源代码许可证 2.0 (RSALv2)
- 服务器端公共许可证 v1 (SSPLv1)
- GNU Affero 通用公共许可证 (AGPLv3)
-
集成模块现已成为核心部分
- JSON
- 概率统计模块:Bloom, Cuckoo, Count-min sketch, Top-K 和 t-digest
- 时间序列
- 向量集(预览版)
- Redis 查询引擎支持横向和纵向扩展
- Redis 二进制分发版中提供了所有组件
- 新的配置文件:
redis-full.conf
用于完全加载组件
新命令
- 支持过期时间的哈希类型:
HGETDEL
– 获取并删除哈希字段HGETEX
,HSETEX
– 获取/设置带过期时间的哈希字段
- 字段 TTL 和过期时间 (7.4+):
HEXPIRE
,HPEXPIRE
,HEXPIREAT
,HPEXPIREAT
HPERSIST
,HEXPIRETIME
,HPEXPIRETIME
,HTTL
,HPTTL
- 其他新增命令:
XREAD +
– 读取最新的流条目HSCAN NOVALUES
– 仅扫描哈希字段名称- 集群模式下的
SORT
命令支持BY
和GET
CLIENT KILL MAXAGE
- Lua:
os.clock()
现已可用 - 副本上的
MULTI/EXEC
事务中支持SPUBLISH
- 向量集命令组(预览版)
内部架构
- I/O 线程重构:读写线程提升吞吐量
- 复制:改进了机制,支持 AOF 偏移量
- 超过 30 项性能优化:
- 优化了:
GET
,EXISTS
,LRANGE
,HSET
,XREAD
,SCAN
,ZADD
,ZUNION
,PFCOUNT
,HSCAN
等 - 改进了延迟、内存和 CPU 利用率
- 优化了:
安全性
- CVE-2024-46981: Lua RCE
- CVE-2024-51741: ACL DoS
- CVE-2024-31449, 31227, 31228: Lua/ACL 中的 DoS 漏洞
打包
Redis 开源版 Redis 8 可通过以下分发方式获取
可观测性
- 新的
INFO
部分KEYSIZES
,Threads
- 哈希过期统计信息
- 客户端缓冲区断开连接计数器
- 字典内存重新哈希
- 脚本逐出统计信息
升级与支持
- 支持从以下版本升级
- 带有或不带有模块的 Redis 7.x
- Redis Stack 7.2 和 7.4
- 支持的操作系统
- Ubuntu 20.04 / 22.04 / 24.04
- Debian 11 / 12
- macOS 13–15
- Rocky/Alma Linux 8.10 / 9.5