Redis 7.0 新功能新特性總覽

說明:本文根據(jù)Redis 7 RC2 的release note 整理并翻譯

近日撮胧,Redis 開源社區(qū)發(fā)布了7.0的兩個(gè)預(yù)覽版训措。在這兩個(gè)預(yù)覽版中鳖宾,有很多Redis 7.0中新增加的特性篙梢,新增加的命令或已有命令的新加參數(shù)顷帖,一些性能上的優(yōu)化和提高,還有一些API的改變,并且修復(fù)了以前版本中的一些bug贬墩,下面讓我們具體來看一下這些方面的內(nèi)容榴嗅。

Redis 7.0 包括了以下一些重要的變化:

1. 將AOF文件的存儲(chǔ)方式改為在一個(gè)文件夾下存儲(chǔ)多個(gè)文件。

2. 將持久化文件RDB的版本升級(jí)為10陶舞,與之前的RDB文件版本不再兼容录肯。

3. 在讀取老的RDB文件格式的時(shí)候?qū)iplist轉(zhuǎn)換為listpack,這種轉(zhuǎn)換發(fā)生于兩種情況之下:從磁盤讀取文件或者從一個(gè)主節(jié)點(diǎn)進(jìn)行復(fù)制文件的時(shí)候吊说。

4. 在redis.conf配置文件中论咏,protected-mode 默認(rèn)更改為yes,只有當(dāng)你希望你的客戶端在沒有授權(quán)的情況下可以連接到Redis server的時(shí)候可以將protected-mode設(shè)置為no颁井。

5. 在ACL中厅贪,pub/sub channel默認(rèn)是被阻塞的。

6. 在從節(jié)點(diǎn)中雅宾,TTL的時(shí)間標(biāo)識(shí)的是絕對(duì)時(shí)間养涮,不再是相對(duì)時(shí)間,從而保證了過期數(shù)據(jù)被及時(shí)刪除眉抬。

7. 不再支持 gopher協(xié)議贯吓。

8. 當(dāng)在配置文件中設(shè)置replica-serve-stale-data=no, 當(dāng)主節(jié)點(diǎn)不再提供服務(wù)時(shí)蜀变,PING命令得不到返回值悄谐。

Redis 7.0 新特性其中的幾個(gè)例子:

1. RedisFunctions:一種新的方式用于Redis server端腳本,它不同于以前版本支持的Lua腳本库北, Redis Functions可支持持久化爬舰,可復(fù)制,并且在節(jié)點(diǎn)重啟之后可以直接從server端讀取寒瓦。 我們會(huì)在后續(xù)的博客中詳細(xì)介紹Redis Functions的使用情屹。 如果現(xiàn)在大家就想知道更多詳情,可以參考鏈接https://redis.io/topics/functions-intro

2. 集群支持顯示主機(jī)名杂腰,而不僅僅顯示ip地址垃你。

3. 使用多個(gè)AOF文件降低了AOF重寫期間的內(nèi)存使用。

4. 在Lua腳本中支持了Function的標(biāo)志喂很。

5. 在AOF文件中增加了數(shù)據(jù)更新時(shí)間點(diǎn)的標(biāo)識(shí)惜颇,使得用戶可以恢復(fù)某一時(shí)間點(diǎn)的數(shù)據(jù)。

6. Lua腳本支持RESP3 版本的并且可以通過redis.REDIS_VERSION, redis.REDIS_VERSION_NUM得到Redis的版本恤筛。

7. 增加了對(duì)stream consumer組滯后的追蹤和報(bào)告 官还。

8. 增加了API以便于可以在functions和Lua腳本中明確地查看ACL。

Redis 7.0 新增14個(gè)用戶端命令和 15個(gè)已有命令的相關(guān)參數(shù)選項(xiàng)毒坛,其中包括:ZMPOP, BZMPOP望伦,LMPOP, BLMPOP等新命令林说,對(duì)于EXPIRE和SET命令,新增了更多的命令參數(shù)選項(xiàng)屯伞。

例如腿箩,ZMPOP的格式如下: ZMPOP numkeys key [key ...] MIN|MAX [COUNT count],而BZMPOP是ZMPOP的阻塞版本劣摇。

下面是一個(gè)使用ZMPOP的例子:

    redis> ZMPOP 1 notsuchkey MIN
    (nil)
    redis> ZADD myzset 1 "one" 2 "two" 3 "three"
    (integer) 3
    redis> ZMPOP 1 myzset MIN
    1) "myzset"
    2) 1) 1) "one"
          2) "1"
    redis> ZRANGE myzset 0 -1 WITHSCORES
    1) "two"
    2) "2"
    3) "three"
    4) "3"
    redis> ZMPOP 1 myzset MAX 
    1) "myzset"
    2) 1) 1) "three"
          2) "3"
    redis> ZRANGE myzset 0 -1 WITHSCORES
    1) "two"
    2) "2"

Redis 7.0 新增10個(gè)管理和監(jiān)控相關(guān)的命令及其相關(guān)參數(shù)選項(xiàng)珠移,其中包括:COMMAND LIST,COMMAND INFO末融,CLUSTER DELSLOTSRANGE and CLUSTER ADDSLOTSRANGE等钧惧。

Redis 7.0 新增配置選項(xiàng):

1. maxmemory-clients 可以限定所有客戶端使用的內(nèi)存總和的最大值。

2. cluster-port用戶可以自定義集群的綁定端口勾习。

3. 對(duì)于Config Set 和Get命令浓瞪,支持在一次調(diào)用過程中傳遞多個(gè)配置參數(shù)。例如巧婶,現(xiàn)在我們可以在執(zhí)行一次Config Set命令中更改多個(gè)參數(shù): config set maxmemory 10000001 maxmemory-clients 50% port 26381裸准。

4. 還有shutdown-timeout澜汤,latency-tracking靠欢,cluster-link-sendbuf-limit等相關(guān)配置選項(xiàng)放妈。

Redis 7.0 在以下方面有了明顯的性能提升:

1. 數(shù)據(jù)類型Hash,List湿右, Zset的底層數(shù)據(jù)結(jié)構(gòu)用listpack替換了ziplist

2. 列表(List)的數(shù)據(jù)類型可以存儲(chǔ)超過4GB的單個(gè)元素

3. 降低了copy-on-write期間的內(nèi)存使用

4. 在使用大量散列(Hash)或者有序集合(Zset)時(shí)節(jié)省了大量的內(nèi)存

5. 在集群模式下诅妹,節(jié)省了大量的內(nèi)存并且降低了系統(tǒng)整體的延遲時(shí)間

6. 在集群中,當(dāng)一個(gè)主節(jié)點(diǎn)重啟之后诅需,從節(jié)點(diǎn)不再需要做完全同步漾唉,只需要做部分同步即可

7. 當(dāng)Redis啟動(dòng)時(shí)荧库,總是建立一個(gè)AOF文件用于持久化

8. 降低了長期沒有響應(yīng)客戶(idle, stale client)的內(nèi)存使用

9. 降低了在客戶回復(fù)數(shù)據(jù)包中的對(duì)于寫的系統(tǒng)調(diào)用次數(shù)堰塌,也同時(shí)降低了TCP packet的數(shù)目

Radis 7.0 還對(duì)模塊(Module)的API進(jìn)行了部分修改如下:

1. 新增了對(duì)RESP3類型的應(yīng)答的API支持

2. 新增了在RM_Call對(duì)RESP3回復(fù)消息的解析的API支持

3. 增加了對(duì)ACL進(jìn)行驗(yàn)證的支持

4. 還增加API:RM_CreateSubcommand,RM_KeyExists分衫,RM_TrimStringAllocation场刑, RM_SetCommandInfo等

當(dāng)然,Redis 7.0 前兩個(gè)預(yù)覽版中不止以上提到的內(nèi)容蚪战,還有更多的新特性和新功能我們會(huì)在后續(xù)的博客中繼續(xù)為大家介紹牵现。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市邀桑,隨后出現(xiàn)的幾起案子瞎疼,更是在濱河造成了極大的恐慌,老刑警劉巖壁畸,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贼急,死亡現(xiàn)場離奇詭異茅茂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)太抓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門空闲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人走敌,你說我怎么就攤上這事碴倾。” “怎么了掉丽?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵跌榔,是天一觀的道長。 經(jīng)常有香客問我捶障,道長矫户,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任残邀,我火速辦了婚禮皆辽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芥挣。我一直安慰自己驱闷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布空免。 她就那樣靜靜地躺著空另,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蹋砚。 梳的紋絲不亂的頭發(fā)上扼菠,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音坝咐,去河邊找鬼循榆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛墨坚,可吹牛的內(nèi)容都是我干的秧饮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼泽篮,長吁一口氣:“原來是場噩夢啊……” “哼盗尸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帽撑,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤泼各,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后亏拉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扣蜻,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寸癌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弱贼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒸苇。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖吮旅,靈堂內(nèi)的尸體忽然破棺而出溪烤,到底是詐尸還是另有隱情,我是刑警寧澤庇勃,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布檬嘀,位于F島的核電站,受9級(jí)特大地震影響责嚷,放射性物質(zhì)發(fā)生泄漏鸳兽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一罕拂、第九天 我趴在偏房一處隱蔽的房頂上張望揍异。 院中可真熱鬧,春花似錦爆班、人聲如沸衷掷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戚嗅。三九已至,卻和暖如春枢舶,著一層夾襖步出監(jiān)牢的瞬間懦胞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工凉泄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躏尉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓旧困,卻偏偏與公主長得像醇份,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吼具,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容