Redis 的缔造者 Salvatore Sanfilippo 近日向 Redis 项目提交了一份拉取请求,引入了一种全新的数据类型——数组。这一新类型伴随着 18 个专用命令一同到来,包括 ARCOUNT、ARDEL、ARDELRANGE、ARGET、ARGETRANGE、ARGREP、ARINFO、ARINSERT、ARLASTITEMS、ARLEN、ARMGET、ARMSET、ARNEXT、AROP、ARRING、ARSCAN、ARSEEK 和 ARSET。目前该实现位于一个独立分支中,尚未合并到主版本。
为了便于开发者提前体验这些新命令,知名开发者 Simon Willison 借助 Claude Code for web 构建了一个名为 Redis Array Playground 的交互式工具。这个工具将 Redis 的一个子集编译为 WebAssembly(WASM),使其能够在浏览器中直接运行,从而让用户无需搭建本地环境即可尝试所有新的数组操作。
在所有新增命令中,最吸引人的当属 ARGREP。它允许用户在数组内对指定范围的值执行服务器端的 grep 搜索,其正则表达式能力来自于新集成的 TRE 库。TRE 是一个高性能、支持近似匹配的正则表达式库,这一集成使得 Redis 的数组查询功能变得极为强大。
Sanfilippo 在个人博客上发表了题为《Redis array type: short story of a long development》的文章,详细披露了该数组类型的开发历程。值得注意的是,整个开发过程大量采用了 AI 辅助编程技术,这反映了现代开源项目中人工智能角色的演变。
这一新数据类型预计将显著扩展 Redis 的应用场景,特别是在需要复杂数据结构的缓存、消息队列和实时分析等领域。随着最终版本的发布,Redis 用户将能够利用原生的数组操作来简化代码并提升性能。