歡迎您光臨本站 註冊首頁

Redis 6.0.0 GA

←手機掃碼閱讀     admin @ 2020-05-01 , reply:0

Redis 創始人宣佈 Redis 6.0.0 穩定版正式 GA。

從首個 RC 版本到正式 GA 經歷了四個月左右的時間,重要的新特性已在 RC1 中公佈過:

  • 許多新的模組 API(modules API)
  • 更好的過期週期(expire cycle)
  • SSL
  • ACL
  • RESP3
  • 客戶端快取
  • 執行緒 I/O
  • 在副本上進行無盤複製
  • Redis-benchmark 叢集支援與 Redis-cli 改進
  • Systemd 支援重寫
  • Redis 叢集代理與 Redis 6 一起釋出(位於不同倉庫)
  • Disque 模組與 Redis 6 一起釋出(位於不同倉庫)

正如 Redis 作者 antirez 所說,這是迄今最“企業”化的版本(SSL 與 ACL 等特性與企業極相關),也是最大的版本,同時也是參與人數最多的版本。GA 版本除了比 RC1 更穩定,還對部分功能進行了重新設計或是進一步的改進。

  1. 對客戶端快取某方面的功能進行了重新設計,主要是放棄了“快取插槽”(caching slot)改為使用鍵名(key name)。另外還新增了“廣播模式”(broadcasting mode),當使用廣播模式時,伺服器不需要記住每個客戶端請求的 key。相反,客戶端會訂閱 key 的字首:每當有匹配字首的 key 被修改時,客戶端就會收到通知。
  2. 用於主從複製的 RDB 檔案如果不再使用會被刪除
  3. 新的 ACL LOG 命令,可檢視不遵循 ACL 許可權的客戶端(例如訪問了無許可權的命令和 key,以及驗證失敗),主要用於除錯 ACL 問題。此外還有重新實現的 ACL GENPASS,它使用了基於 SHA256 的 HMAC 加密演算法。
  4. 改進 PSYNC2 主從複製協議
  5. 改進 Redis 命令列的超時選項
  6. 提升 RDB 檔案的載入速度(~20/30% 的提升)
  7. 新的 STRALGO 命令,實現了複雜的字串演算法。這是一個重要的演算法,主要用於比較冠狀病毒的 RNA(以及其他生物體的 DNA 和 RNA)

重要新特性介紹

RESP3

這是 Redis 6 中的新網路協議,但它是可選的,連線以 RESP2 模式開始,只有使用新的 HELLO 命令進行握手時,才進入新的協議模式。為什麼要使用新協議?因為舊的語義不夠。此外,RESP3 中還有其它功能,但是主要能力還是直接從 Redis 返回複雜的資料型別,而客戶端對於資料型別的轉換是透明的。

ACL

作者認為 Redis 需要 ACL,因為人們在更大的環境中需要更好地控制哪些客戶端可以執行某些操作。同時,向 Redis 新增 ACL 的另一個要點是隔離,以保護資料免受應用程式錯誤的侵害。Redis 中還為 ACL 提供了 Redis 模組介面,因此開發者可以編寫自定義身份驗證方法。

SSL

這一特性值得一提的是,工作是完全在沒有 antirez 參與的情況下完成的,這顯示了 Redis 開發過程的變化。這可能需要簡單結合一下背景:Redis 6 中 commit 次數最多的是 antirez,達到 685 次,而排在第二位的 zhaozhao.zz commit 數量是 81。

客戶端快取

antirez 此前已經詳細介紹過該特性,我們也有相關分享:Redis 6 將採用全新協議 RESP3,以提供客戶端快取功能。當使用者需要進行快速儲存或快速取操作時,就需要在客戶端記憶體中儲存一小部分資訊,這可以降低程式獲取資料時的延遲。

但是現在 antirez 認為這是 Redis 6 最不成熟的特性,他想在 Redis 6 GA 之前對此進行改進。可能會新增一個新模式,該新模式要求伺服器不維護有關客戶端的狀態,或者根本不維護任何狀態,並與更多訊息進行交易。目前某些“快取插槽”中過期的資訊無法單一合併,antirez 表示一月份關於此特性還有更多工作要做。

Disque 成為模組

Disque 目的是構建分散式的記憶體中訊息代理,此前它是一項實驗功能,現在在 Redis 6 中成為模組,它可以支援叢集訊息匯流排 API,可以阻止和恢復客戶端、支援計時器、模組私有資料的 AOF 和 RDB 控制功能。

叢集代理

在 Redis 叢集中,客戶端會非常分散,現在為此引入了一個叢集代理,可以為客戶端抽象 Redis 群集,使其像正在與單個例項進行對話一樣。同時在簡單且客戶端僅使用簡單命令和功能時執行多路複用。

模組

Redis 6 的模組 API 達到了一個新高度,發展迅速,因為 Redis Labs 從零開始就使用模組系統來開發非常複雜的內容,使得 Redis 實際上變成一個框架,可以將系統作為模組來編寫,而不必從頭開始發明所有東西。

詳情檢視 http://www.antirez.com/news/132
下載地址 https://redis.io/download


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/115306/redis-6-0-0-ga
Redis 6.0.0 GA已經有205次圍觀

http://coctec.com/news/all/show-post-232329.html