Redis4.0新特性

redis 4.0 新特性
Redis 4.0在2017年7月發佈爲GA。包含幾個重大改進:更好的複製(PSYNC2),線程DEL / FLUSH,混合RDB + AOF格式,活動內存碎片整理,內存使用和性能改進。目前小版本更新到4.0.6
1、主從數據同步機制
PSYNC2: 新的一種主從複製同步機制。
PSYNC1:2.8~4.0以前版本的同步爲PSYNC1
一、psync1由於網絡中斷或者阻塞致使主從中斷,恢復後必須從新到主節點dump一份全量數據同步到從節點。psync2再中斷恢復後只須要同步複製延遲的那部分數據。
二、psync1在重啓從節點須要從新全量同步數據。psync2只部分同步增量數據。
三、在PSYNC1 當複製爲鏈式複製的時候,如 A>B>C 主節點爲A。當A出現問題,C節點不能正常複製B節點的數據。當提高B爲主節點,C須要全量同步B的數據。在PSYNC2:PSYNC2解決了鏈式複製之間的關聯性。A出現問題不影響C節點,B提高爲主C不須要全量同步。
四、在使用星形複製。如一主兩從。A>B , A>C  主節點爲A。當A出現問題,B提高爲主節點,C 從新指向主節點B。使用同步機制PSYNC2,C節點只作增量同步便可。在使用sentinel故障轉移能夠較少數據從新同步的延遲時間,避免大redis同步出現的網絡帶寬佔滿。
2、命令優化
線程DEL / FLUSH 優化
Redis如今能夠在不一樣的線程中刪除後臺的key而不會阻塞服務器。 新的`UNLINK`命令與`DEL`相同,可是以非阻塞的方式工做。可是在key過時的內部依然使用了DEL。 相似地,爲了讓整個數據集或單個數據庫異步釋放,在「FLUSHALL」和「FLUSHDB」中添加了「ASYNC」選項。(手動清除大的key 可使用unlink,不阻塞)
3、慢日誌記錄客戶端來源IP地址,這個小功能對於故障排查頗有用處。
4、混合RDB + AOF格式
混合RDB + AOF格式: 混合的RDB-AOF格式。 若是啓用,則在重寫AOF文件時使用新格式:重寫使用更緊湊和更快的方式來生成RDB格式,並將AOF流附加到文件。 這容許在使用AOF持久性時更快地重寫和從新加載。(目前相對於2.8沒啥用)
5、新的管理命令
一、MEMORY 可以執行不一樣類型的內存分析:內存問題的故障排除(使用MEMORY DOCTOR,相似於LATENCY DOCTOR),報告單個鍵使用的內存量,更深刻地報告Redis內存使用狀況 。
查看鍵值 使用 memory MEMORY USAGE key
memory統計分析 MEMORY STATS
MEMORY MALLOC-STATS
MEMORY PURGE
二、SWAPDB 可以徹底當即(無延遲)替換同實例下的兩個Redis數據庫(目前咱們業務沒啥用)
6、
內存使用和性能改進:
一、Redis如今使用更少的內存來存儲相同數量的數據。
二、Redis如今能夠對使用的內存進行碎片整理,並逐漸回收空間(這個功能依然是試用階段,能夠經過參數不開啓便可)
 
以上列舉功能爲4.0的重要更新,也是對咱們目前redis大有改善,所列舉的功能已經和亞運測試過。業務上尚未預發測試。
 
建議:新的邊緣業務redis上線使用redis4.0 。先進行預發功能連通測試。一段時間後,根據實際使用狀況推動redis4.0更新。
 
相關文章
相關標籤/搜索