Redis 6 RC1 發(fā)布了,項(xiàng)目創(chuàng)建人 antirez 在博客中介紹,這是迄今最企業(yè)化的版本(SSL 與 ACL 等特性與企業(yè)極相關(guān)),也是最大的版本,同時(shí)也是參
Redis 6 RC1 發(fā)布了,項(xiàng)目創(chuàng)建人 antirez 在博客中介紹,這是迄今最“企業(yè)”化的版本(SSL 與 ACL 等特性與企業(yè)極相關(guān)),也是最大的版本,同時(shí)也是參與人數(shù)最多的版本。
GA 版本預(yù)計(jì)在明年三月到五月之間發(fā)布。
Redis 6 的新特性包括:
許多新的模塊 API
更好的過(guò)期周期
SSL
ACL
RESP3
客戶端緩存
線程 I/O
副本上的無(wú)盤(pán)復(fù)制
Redis 基準(zhǔn)集群支持與 Redis-cli 改進(jìn)
Systemd 支持重寫(xiě)
Redis Cluster 代理與 Redis 6 一起發(fā)布(不同倉(cāng)庫(kù))
Redis 6 發(fā)布Disque 模塊(不同倉(cāng)庫(kù))
antirez 重點(diǎn)介紹了其中幾大特性:
RESP3
這是 Redis 6 中的新網(wǎng)絡(luò)協(xié)議,但它是可選的,連接以 RESP2 模式開(kāi)始,只有使用新的 HELLO 命令進(jìn)行握手時(shí),才進(jìn)入新的協(xié)議模式。為什么要使用新協(xié)議?因?yàn)榕f的語(yǔ)義不夠。此外,RESP3 中還有其它功能,但是主要能力還是直接從 Redis 返回復(fù)雜的數(shù)據(jù)類型,而客戶端對(duì)于數(shù)據(jù)類型的轉(zhuǎn)換是透明的。
ACL
antirez 認(rèn)為 Redis 需要 ACL,因?yàn)槿藗冊(cè)诟蟮沫h(huán)境中需要更好地控制哪些客戶端可以執(zhí)行某些操作。同時(shí),向 Redis 添加 ACL 的另一個(gè)要點(diǎn)是隔離,以保護(hù)數(shù)據(jù)免受應(yīng)用程序錯(cuò)誤的侵害。Redis 中還為 ACL 提供了 Redis 模塊接口,因此開(kāi)發(fā)者可以編寫(xiě)自定義身份驗(yàn)證方法。
SSL
這一特性值得一提的是,工作是完全在沒(méi)有 antirez 參與的情況下完成的,這顯示了 Redis 開(kāi)發(fā)過(guò)程的變化。這可能需要簡(jiǎn)單結(jié)合一下背景:Redis 6 中 commit 次數(shù)最多的是 antirez,達(dá)到 685 次,而排在第二位的 zhaozhao.zz commit 數(shù)量是 81。
客戶端緩存
antirez 此前已經(jīng)詳細(xì)介紹過(guò)該特性,我們也有相關(guān)分享:Redis 6 將采用全新協(xié)議 RESP3,以提供客戶端緩存功能。當(dāng)使用者需要進(jìn)行快速存儲(chǔ)或快速取操作時(shí),就需要在客戶端內(nèi)存中存儲(chǔ)一小部分信息,這可以降低程序獲取數(shù)據(jù)時(shí)的延遲。
但是現(xiàn)在 antirez 認(rèn)為這是 Redis 6 最不成熟的特性,他想在 Redis 6 GA 之前對(duì)此進(jìn)行改進(jìn)。可能會(huì)添加一個(gè)新模式,該新模式要求服務(wù)器不維護(hù)有關(guān)客戶端的狀態(tài),或者根本不維護(hù)任何狀態(tài),并與更多消息進(jìn)行交易。目前某些“緩存插槽”中過(guò)期的信息無(wú)法單一合并,antirez 表示一月份關(guān)于此特性還有更多工作要做。
Disque 成為模塊
Disque 目的是構(gòu)建分布式的內(nèi)存中消息代理,此前它是一項(xiàng)實(shí)驗(yàn)功能,現(xiàn)在在 Redis 6 中成為模塊,它可以支持集群消息總線 API,可以阻止和恢復(fù)客戶端、支持計(jì)時(shí)器、模塊私有數(shù)據(jù)的 AOF 和 RDB 控制功能。
集群代理
在 Redis 集群中,客戶端會(huì)非常分散,現(xiàn)在為此引入了一個(gè)集群代理,可以為客戶端抽象 Redis 群集,使其像正在與單個(gè)實(shí)例進(jìn)行對(duì)話一樣。同時(shí)在簡(jiǎn)單且客戶端僅使用簡(jiǎn)單命令和功能時(shí)執(zhí)行多路復(fù)用。
模塊
Redis 6 的模塊 API 達(dá)到了一個(gè)新高度,發(fā)展迅速,因?yàn)?Redis Labs 從零開(kāi)始就使用模塊系統(tǒng)來(lái)開(kāi)發(fā)非常復(fù)雜的內(nèi)容,使得 Redis 實(shí)際上變成一個(gè)框架,可以將系統(tǒng)作為模塊來(lái)編寫(xiě),而不必從頭開(kāi)始發(fā)明所有東西。
關(guān)鍵詞: 數(shù)據(jù)庫(kù) Redis 6 RC1 ACL