Redis 6.0支持的新特性說明
更新時間 2025-04-20 11:59:56
最近更新時間: 2025-04-20 11:59:56
分享文章
本文介紹Redis 6.0支持的新特性說明
支持SSL
??Redis 6.0連接支持SSL,可以傳輸加密,更加安全,但會帶來一定的性能損失
ACLs 權限控制
Redis ACL是訪問控制列表( Access Control List)的縮寫,它允許某些連接在可以執行的命令和可以訪問的KEY方面受到限制。它的工作方式是,在連接后,客戶端需要提供用戶名和有效密碼進行身份驗證。如果身份驗證成功,則連接將與給定用戶和該用戶的限制相關聯。 該功能可以有效提高安全性。
RESP3 協議
??RESP(Redis Serialization Protocol)是 Redis 服務端與客戶端之間通信的協議。
??RESP3 是 RESP version 2 的更新版本。RESP v2 大致從 Redis 2.0 開始支持(其實 1.2 就支持了,只不過 Redis 2.0 是第一個僅支持此協議的版本)。
RESP 2 具有如下缺陷:
- 沒有足夠的語義能力去表達數據結構。例如,Redis命令LRANGE、SMEMBERS和HGETALL都會返回一個數組,在RESP v2術語中稱為多塊回復。然而,這三個命令實際上返回一個數組、一個集合和一個映射。
- RESP缺少重要的數據類型:浮點數和布爾值分別作為字符串和整數返回。空值具有雙重表示,稱為空批量和空多批量,這是無用的,因為區分空數組和空字符串的語義值是不存在的。
- 無法返回二進制安全錯誤。在實現生成協議的通用API時,實現必須檢查并刪除錯誤字符串中潛在的換行符。
RESP 3 新增了更多的數據類型,強化了協議的可表達能力和可理解能力
客戶端緩存(Client side caching)
Redis 客戶端緩存在某些方面進行了重新設計。 可以執行Client相關的命令,開啟客戶端緩存。開啟后,服務端后記住客戶端連接查詢的KEY。同時客戶端需要訂閱內部有主題, 如果一旦客戶端查詢的KEY發生變化,客戶端會收到發生變化的信息。 由于客戶端能感知到KEY的變化,因而客戶端可以直接緩存KEY的值在本地內存上,而不需要擔心KEY失效的問題。
多線程 IO(Threaded I/O)
??Redis 6 引入多線程IO,但多線程部分只是用來處理網絡數據的讀寫和協議解析,執行命令仍然是單線程。但帶來了更加的整體性能。