Redis 5.0支持的新特性說明
更新時間 2025-04-20 11:59:36
最近更新時間: 2025-04-20 11:59:36
分享文章
本文介紹Redis 5.0支持的新特性說明
Stream類型
Stream 是一種數據結構,其作用類似于僅追加日志,但也實現了一些操作來克服典型的僅追加日志的一些限制。其中包括O(1)時間內的隨機訪問和復雜的消費策略,如消費者群體。您可以使用流實時記錄和同時聯合事件。Redis Stream用例示例包括:
- 事件來源(例如,跟蹤用戶動作、點擊等)
- 傳感器監測(例如,現場設備的讀數)
- 通知(例如,將每個用戶的通知記錄存儲在單獨的流中)
Redis為每個Stream目生成一個唯一的ID。您可以使用這些ID稍后檢索其關聯條目,或者讀取和處理流中的所有后續條目。請注意,由于這些ID與時間有關,此處顯示的ID可能會有所不同,并且與您在自己的Redis實例中看到的ID不同。
Redis流支持多種微調策略(以防止流無限增長)和多個消費策略(請參閱XREAD、XREADGROUP和XRANGE)
下面是與PUB/SUB對比
| 項目 | Stream | Pub/Sub |
|---|---|---|
| 持久化 | 支持 | 不支持 |
| 消費分組 | 支持 | 不支持 |
| 消費確認 | 支持 | 不支持 |
| 性能 | 與客戶端數量無關,性能非常好 | 客戶端多的時候,性能會出現明顯的下降 |
| 數據隔離 | DB間數據互相獨立 | 不同DB的數據能互相看到,不獨立 |
模塊API
支持新的REDIS 模塊API: 定時器 、 集群 和字典API
LUA改進
LUA腳本可以復制到備庫上。
LUA腳本現在可以超時
動態hz
之前的REDIS 的hz是固定值。 新版本為了平衡CPU和響應能力,支持hz動態變化.
新增ZPOP命令
SORTED SET的命令新增了如下命令:
| 命令 | 功能 |
|---|---|
| ZPOPMIN | 刪除并返回在Sorted Set中得分最低的值。 默認是返回1個 |
| ZPOPMAX | 刪除并返回在Sorted Set中得分最高的值。 默認是返回1個 |
| BZPOPMIN | 阻塞版的ZPOPMIN |
| BZPOPMAX | 阻塞版的ZPOMAX |