Redis 5.0新功能介绍
Redis5.0版是Redis產(chǎn)品的重大版本發(fā)布,我們先看一下它的最新特點(diǎn):
Redis Stream
Redis stream本質(zhì)上是個時序數(shù)據(jù)結(jié)構(gòu),具有如下特點(diǎn):
底層是修改版的radix tree,每個node存儲了一個listpack。listpack是一塊連續(xù)的內(nèi)存block,用于序列化msg entry及相關(guān)元信息,如msg ID,使用了多種編碼,用于節(jié)省內(nèi)存,是ziplist的升級版。如果XADD每次添加的對中的field是一樣的,那么field不會重復(fù)存儲。
內(nèi)存友好,對于簡單的十幾~幾十字節(jié)的msg,100MB內(nèi)存可以存儲數(shù)百萬個。listpack在內(nèi)存和disk上的存儲結(jié)構(gòu)是一樣的,所以stream數(shù)據(jù)在做RDB時效率非常高,0.3s,500w entries。
Redis Stream使用演示
發(fā)布消息
讀取消息
阻塞讀取
發(fā)布新消息
消息返回
創(chuàng)建消費(fèi)組
通過消費(fèi)組讀取消息
Redis Stream使用場景
可用作時通信等,大數(shù)據(jù)分析,異地數(shù)據(jù)備份等
客戶端可以平滑擴(kuò)展,提高處理能力
Zpop
Sorted Sets 增加了類似List的pop命令:
ZPOPMAX 命令用于移除并彈出有序集合中分值最大的 count 個元素
ZPOPMIN 命令用于移除并彈出有序集合中分值最小的 count 個元素
BZPOPMAX 和 BZPOPMIN 是上述兩個命令的阻塞變種.
CLIENT:
Client id返回當(dāng)前連接的ID,每個ID符合如下約束:
Client unblock:
當(dāng)客戶端因?yàn)閳?zhí)行具有阻塞功能的命令(如BRPOP、XREAD或者WAIT)被阻塞時,該命令可以通過其他連接解除客戶端的阻塞
阿里云Redis 5.0優(yōu)勢:
總結(jié)
以上是生活随笔為你收集整理的Redis 5.0新功能介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海量数据,海明距离高效检索(smlar)
- 下一篇: 走近科学,探究阿里闲鱼团队通过数据提升F