系统极客一直在努力
专注操作系统及软件使用技能

Redis 8.2 正式发布:性能与效率再攀新高

Redis

Redis 8.2 开源版本正式发布!这次更新不仅性能更快、内存优化更深,还带来了一系列贴心的新功能。为 AI 智能体和各种应用,提供了更强大的实时数据处理能力。

和 8.0 相比,Redis 8.2 在性能和效率上有超过 14 项显著提升:命令执行速度最高提升 35%;吞吐量(ops/sec)最高增加 49%;还引入了全新的内部实现,键及 JSON 数据的存储更加高效,内存占用最高可以减少 67%。

不仅如此,这次还新增了多个强力的 Streams 命令,极大简化了开发工作流。BITOP命令也获得了全新的逻辑运算符,让复杂操作可以用一个命令搞定。

Redis 8.2 突破性能边界

命令延迟最高降低 35%

这次,官方针对 70 多个命令进行了深度优化,速度相比 8.0 有明显提升。

  • BITCOUNT命令性能直接提升 35%。
  • 常用的列表操作,比如LINSERTLREMLPOS等,延迟都降低了 25% 以上。
  • 另外,有 17 个命令性能提升超过 5%,还有 52 个命令的延迟降低了超过 2%。

这些可不只是冷冰冰的数据。对于大部分应用来说,这意味着真实、可感知的性能飞跃。

Redis 8.2 与 8.0.2:p50 延迟改进
Redis 8.2 与 8.0.2:p50 延迟改进

吞吐量最高提升 49%,突破百万 ops/sec 大关

Redis 8.2 充分释放了 I/O 线程的潜力,让并发处理方式焕然一新。

  • 在开启 8 个 I/O 线程的情况下,典型的「20% 写入 + 80% 读取」缓存负载下,吞吐量相比 8.0 提升高达 49%。
  • 在混合读写负载下,单个实例的吞吐量首次突破了每秒 100 万次操作,是内存性能领域的又一重要里程碑。
I/0 线程吞吐量提升(20% 写入,80% 读取)
I/0 线程吞吐量提升(20% 写入,80% 读取)

短字符串键的内存占用最高减少 37%

Redis 8.2 对键值的存储方式进行了颠覆性改造——引入了一种叫做「键值对象」(kvobj)的统一数据结构,把键名、短值和(可选的)生存时间(TTL)紧密打包在一个内存分配中。

  • 过去,键、值、TTL 都得各自管理一个独立的指针;现在,无论是值哈希表还是 TTL 哈希表,都只需要一个指针指向这个kvobj。如果某个哈希槽里只有一个键,甚至可以完全省去额外的条目分配。
  • 这种从「多重内存分配」到「单一内存分配」的架构性变革,让短字符串键的内存占用减少了 25%~37%。同时还有额外好处:
    • 更少的指针解引用,提高性能
    • 更高的缓存行利用率
    • 过期处理逻辑更简单
Redis 8.2 键值对象
Redis 8.2 键值对象

JSON 数值类型的内存占用最高减少 67%

Redis 8 就已经引入了强大的 JSON 数据结构,而 8.2 在此基础上进一步优化了内存效率。

  • 通常,JSON 文档会共享相似的模式(Schema),很多成员名称会重复出现。在一个文档内部,比如对象数组中,也会出现相同字段。Redis 针对这种情况,会只存一份字符串,其他地方就能直接引用指针。
  • 在 8.2 中,整数和浮点数的存储方式也变得更加高效,内存占用可以减少 25%~67%。
数值类型Redis 8 内存消耗Redis 8.2 内存消耗降幅
小整数 [-2^23, 2^23-1]12B8B25%
整数 [-2^60, 2^60-1]24B8B67%
大整数 [-2^63, 2^64-1]24B16B33%
32 位浮点数24B8B67%
64 位浮点数24B16B33%

对于包含大量数值字段的 JSON 数据,比如金融记录、分析数据集,这样的优化会极大降低内存占用。

Redis 8.2 新增功能:化繁为简,优化工作流

Streams:轻松管理多消费者组

  • 以往,在用多个消费者组处理 Redis Streams 时,需要编写复杂的逻辑,来确保消息被所有组确认后才能安全删除。这个过程既繁琐又容易出错。
  • Redis 8.2 提供了全新的解决方案:两个新命令XACKDELXDELEX,并扩展了两个现有命令的功能,彻底变革了这一工作流。

Bitmap:BITOP 命令新增逻辑运算符

Redis 8.2 为BITOP新增了 4 个超实用的逻辑运算符,能够在单个命令中完成更加复杂的集合运算:

  • DIFF:在集合 X 中,但不在任何 Y 集合(Y1, Y2, …)中的成员。
  • DIFF1:在一个或多个 Y 集合中,但不在 X 集合的成员。
  • ANDOR:属于 X,且至少属于一个 Y 集合的成员。
  • ONE:只在所有位图中出现一次的成员。

这些运算符在判断成员归属的场景中非常好用,比如:在游戏里判断玩家是不是在某个区域,或者广告系统里计算用户是否需要参与某个活动。

与现有生态的无缝衔接

  • 无论你正在使用 JedisLettucego-redisnode-redisNRedisStack 还是 redis-py,都能直接升级到 Redis 8.2,立即享受新速度、新功能。
  • 面向 AI 的 Redis OM 客户端库和 RedisVL 也已全面适配,确保对象映射与向量搜索工作流顺畅无阻。
  • Redis Insight 和 Redis for VS Code 同样完全兼容 8.2。

开始体验 Redis 8.2

Redis 8.2 开源版已经正式发布,你可以通过以下方式获取:


准备好体验极致速度了吗?现在就升级到 Redis 8.2,感受它的澎湃性能吧!

赞(0)
分享到

评论 抢沙发