Redis 8.8 已正式 GA,這是 Redis 開源版本在 8.8 分支的重要里程碑。相比 8.6,8.8 引入了多項實質性新特性和改進,覆蓋數據結構、查詢能力與運行時可觀測性多個維度。
![]()
Array 新數據結構由 Redis 之父 Salvatore Sanfilippo(@antirez)貢獻,首次為 Redis 核心引入了原生的數組類型。這一數據結構的加入填補了 Redis 在有序集合與列表之外對純數組類型的空白場景需求,開發者可以在不使用序列化 JSON 的前提下直接存儲和操作數組結構,降低了內存開銷并提升了訪問效率。
INCREX 是本次最受關注的命令之一 —— 一個將 INCR、INCRBY、INCRBYFLOAT 與邊界控制、過期時間融合在一起的窗口計數器速率限制命令。在 INCREX 出現之前,實現滑動窗口限流通常需要借助 Redis 的有序集合或 Lua 腳本手動編排,邏輯復雜且性能受限。INCREX 將這一常見需求封裝為單一命令,開發者只需一條指令即可完成 "時間段內計數 + 上限判斷 + 自動過期" 的完整限流邏輯。據 Redis 團隊透露,INCREX 在高并發場景下的吞吐量相比基于 Lua 腳本的實現提升約 40%,同時降低了開發者的心智負擔。該命令由 @raffertyyu 與 Redis 團隊共同貢獻。
流處理方面,XNACK 命令允許消費者顯式釋放 pending 消息,解決了此前 Streams 消費組模型中消息一旦被 PENDING 就難以轉移給其他消費者的歷史痛點。在微服務架構中跨實例遷移消費任務時,這一特性將顯著簡化運維復雜度。此外,ZUNION 和 ZINTER 系列命令新增了 COUNT 聚合器,支持在一次命令調用中完成并集 / 交集后的數量統計,而無需再額外執行 ZCARD,減少了網絡往返次數。
在 JSON 模塊方面,JSON.SET 新增 FPHA 參數,允許用戶指定同構浮點數數組的精度類型,在處理時序數據或傳感器數據時能夠進一步壓縮存儲空間。TS.RANGE 及相關命令則支持在單條命令內指定多個聚合函數,一次查詢即可獲取多種粒度的統計結果。
性能層面,RediSearch 模塊的 FT.HYBRID KNN 查詢新增參數以控制每個分片的候選集數量,幫助開發者在精度與性能之間做更精細的權衡。FT.PROFILE 也新增了對 HYBRID 查詢模式的支持,進一步完善了查詢分析能力。
值得注意的還有二進制分發層面的變化。Redis 8.8 正式引入了 Alpine 和 Debian 官方 Docker 鏡像,并在 Snap、Homebrew、RPM、Debian APT 等主流包管理渠道上線安裝包,使得在不同操作系統上的部署流程更加標準化。
Bugfix 方面相對 8.8-RC1 共修復了 4 個關鍵問題:INCREX 語法修正、運行時內存追蹤開啟(非集群模式)、多 shard 命令執行時集群拓撲變更處理,以及 RDB 加載時的內存泄漏問題。
Redis 8.8 在測試支持層面覆蓋了 Ubuntu 22.04 至 26.04、Rocky Linux 8.10 至 10.1、AlmaLinux 8.10 至 10.1、Debian 12.13 至 13.4、Alpine 3.23,以及 macOS 14.8.4 至 26.3(Intel 與 ARM 雙架構),生態完整性進一步提升。
下載地址 & 發布說明:https://github.com/redis/redis/releases/tag/8.8.0
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.