Redis 6.0 資料庫管理系統發布

準備好的 資料庫管理系統發布 Redis的6.0,屬於NoSQL系統類。 Redis 提供類似 Memcached 的功能來儲存鍵/值數據,並透過支援結構化資料格式(例如列表、雜湊和集合)以及運行伺服器端 Lua 處理程序腳本的能力來增強功能。 專案程式碼 提供 在 BSD 許可下。 自去年以來為企業用戶提供高級功能的其他模組,例如 RediSearch、RedisGraph、RedisJSON、RedisML、RedisBloom 提供的 根據專有 RSAL 許可證。 該專案將繼續在 AGPLv3 授權下開發這些模組的開放版本 好形式.

與Memcached不同,Redis提供磁碟上資料的持久存儲,並在緊急關閉時確保資料庫的安全。 該專案的源代碼在 BSD 許可證下分發。 客戶端程式庫適用於大多數流行語言,包括 Perl、Python、PHP、Java、Ruby 和 Tcl。 Redis支援事務,它允許你一步執行一組命令,保證一組給定命令執行過程中的一致性和一致性(來自其他請求的命令不能幹擾),並且在出現問題時,允許你回滾變化。 所有資料都完全快取在 RAM 中。

為資料管理提供了遞增/遞減、標準清單和集合操作(​​並集、交集)、鍵重命名、多重選擇和排序功能等命令。 支援兩種儲存模式:定期將資料同步到磁碟以及在磁碟上維護變更日誌。 在第二種情況下,確保所有更改的完全安全。 可以將主從資料複製組織到多個伺服器,以非阻塞模式進行。 也可以使用「發布/訂閱」訊息傳遞模式,在該模式中建立通道,透過訂閱將訊息分發給客戶端。

鑰匙 改進Redis 6.0中新增:

  • 預設情況下,建議使用新的 RESP3 協議,但連接建立以 RESP2 模式開始,並且僅在協商連接時使用新的 HELLO 命令時客戶端才會切換到新協議。 RESP3 可讓您直接傳回複雜資料類型,無需在用戶端轉換泛型數組,也無需分離回傳類型。
  • 存取控制清單支援(ACL),讓您精確判斷哪些操作可以由客戶端執行,哪些操作不能由客戶端執行。 ACL 還可以防止開發期間可能出現的錯誤,例如,可以禁止僅執行 BRPOPLPUSH 操作的處理程序執行其他操作,如果在生產程式碼中不小心忘記了偵錯期間添加的 FLUSHALL 調用,這將導致不會導致問題。 實施 ACL 不會產生任何額外的開銷,並且對效能幾乎沒有影響。 也為 ACL 準備了介面模組,讓您可以建立自己的身份驗證方法。 若要查看所有記錄的 ACL 違規,提供了「ACL LOG」指令。 為了產生不可預測的會話金鑰,已使用基於 SHA256 的 HMAC 新增了「ACL GENPASS」命令。
  • 支持 SSL / TLS 將客戶端和伺服器之間的通訊通道進行加密。
  • 支持 在客戶端快取資料。 為了使用戶端快取與資料庫狀態保持一致,有兩種模式可用: 1. 在伺服器上記住用戶端先前要求的金鑰,以便通知它用戶端快取中條目的相關性遺失。 2.「廣播」機制,客戶端訂閱某些金鑰前綴,如果這些前綴下的金鑰發生變化,伺服器會通知它。 「廣播」模式的優點是伺服器不會浪費額外的記憶體來儲存客戶端快取的值的映射,但缺點是傳輸的訊息數量會增加。
  • Disque 訊息代理程式可讓您使用 Redis 處理訊息佇列,已從基本結構中刪除 獨立模組.
  • 添加 集群代理,Redis 伺服器叢集的代理,允許客戶端組織與多個 Redis 伺服器的工作,就好像它們是單一實例一樣。 代理可以將請求路由到具有必要資料的節點、多路復用連接、在偵測到節點故障時重新配置叢集以及執行跨多個節點的請求。
  • 用於編寫模組的 API 得到了顯著改進,本質上將 Redis 變成了一個框架,讓您以附加模組的形式創建系統。
  • 已經實現了複製模式,其中RDB檔案在使用後立即被刪除。
  • PSYNC2 複製協定得到了改進,透過增加識別副本和主伺服器公共偏移的機會,可以更頻繁地執行部分重新同步。
  • RDB 檔案的載入速度已加快。 根據文件內容,加速範圍為 20% 至 30%。 當有大量連線的用戶端時,INFO 指令的執行速度顯著加快。
  • 新增了新的 STRALGO 命令,用於實現複雜的字串處理演算法。 目前,只有一種 LCS(最長公共子序列)演算法可用,該演算法在比較 RNA 和 DNA 序列時很有用。

來源: opennet.ru

添加評論