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,HPEXPIREATHPERSIST,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