Redis 8.8 新版本已在 GitHub 上发布。其新特性中,最引人注目的是一种名为 Array 的数据结构,专为基于相对位置的快速操作而设计。此外,还包括性能改进,例如在 x86_64 架构上默认启用 LTO、更高效的线程使用、用于减少 FFI 开销的 Rust 代码、针对 ARM64 的优化以及批量预取。这是一次直击效率核心的更新。
新数据结构与优化的技术细节 🚀
Array 结构允许根据元素在集合中的位置进行访问和修改,这对于队列或优先级列表非常有用。在 x86_64 架构上使用 LTO(链接时优化)进行编译,可以减小二进制文件大小并提高执行速度。新的 Rust 代码替换了 FFI 的关键部分,消除了语言间通信的瓶颈。在 ARM64 上,针对低功耗服务器优化了特定指令。批量预取加速了启动期间数据加载到内存的过程。
开发者也有情感(和截止日期)😅
社区多年来一直要求一种不仅仅是简单哈希或列表的数据结构。现在 Array 来了,肯定有人会用它来存储购物清单或冰箱补货顺序。Rust 的加入有望减少 FFI 开销,尽管总有人认为问题不在于 FFI,而在于咖啡机。至于默认启用 LTO:我们终于可以在等咖啡的时候编译 Redis,而不是等到退休了。