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 用户將能夠利用原生的數組操作來簡化代碼並提升性能。