Redis2.6
Redis2.6在2012年正是發佈,經歷了17個版本,到2.6.17版本,相對於Redis2.4,主要特性如下:
-
服務端支持Lua腳本。
-
去掉虛擬內存相關功能。
-
放開對客戶端連接數的硬編碼限制。
-
鍵的過期時間支持毫秒。
-
從節點支持只讀功能。
-
兩個新的位圖命令:bitcount和bitop。
-
增強了redis-benchmark的功能:支持定製化的壓測,CSV輸出等功能。
-
基於浮點數自增命令:incrbyfloat和hincrbyfloat。
-
redis-cli可以使用–eval參數實現Lua腳本執行。
-
shutdown命令增強。
-
重構了大量的核心代碼,所有集羣相關的代碼都去掉了,cluster功能將會是3.0版本最大的亮點。
-
info可以按照section輸出,並且添加了一些統計項
-
sort命令優化
Redis2.8
Redis2.8在2013年11月22日正式發佈,經歷了24個版本,到2.8.24版本,相比於Redis2.6,主要特性如下:
-
添加部分主從複製的功能,在一定程度上降低了由於網絡問題,造成頻繁全量複製生成RDB對系統造成的壓力。
-
嘗試性的支持IPv6.
-
可以通過config set命令設置maxclients。
-
可以用bind命令綁定多個IP地址。
-
Redis設置了明顯的進程名,方便使用ps命令查看系統進程。
-
config rewrite命令可以將config set持久化到Redis配置文件中。
-
發佈訂閱添加了pubsub。
-
Redis Sentinel第二版,相比於Redis2.6的Redis Sentinel,此版本已經變成生產可用。
Redis3.0(里程碑)
Redis3.0在2015年4月1日正式發佈,相比於Redis2.8主要特性如下:
Redis最大的改動就是添加Redis的分佈式實現Redis Cluster。
-
Redis Cluster:Redis的官方分佈式實現。
-
全新的embedded string對象編碼結果,優化小對象內存訪問,在特定的工作負載下載速度大幅提升。
-
Iru算法大幅提升。
-
migrate連接緩存,大幅提升鍵遷移的速度。
-
migrate命令兩個新的參數copy和replace。
-
新的client pause命令,在指定時間內停止處理客戶端請求。
-
bitcount命令性能提升。
-
cinfig set設置maxmemory時候可以設置不同的單位(之前只能是字節. 。
-
Redis日誌小做調整:日誌中會反應當前實例的角色(master或者slave. 。
-
incr命令性能提升。
Redis3.2
Redis3.2在2016年5月6日正式發佈,相比於Redis3.0主要特徵如下:
-
添加GEO相關功能。
-
SDS在速度和節省空間上都做了優化。
-
支持用upstart或者systemd管理Redis進程。
-
新的List編碼類型:quicklist。
-
從節點讀取過期數據保證一致性。
-
添加了hstrlen命令。
-
增強了debug命令,支持了更多的參數。
-
Lua腳本功能增強。
-
添加了Lua Debugger。
-
config set 支持更多的配置參數。
-
優化了Redis崩潰後的相關報告。
-
新的RDB格式,但是仍然兼容舊的RDB。
-
加速RDB的加載速度。
-
spop命令支持個數參數。
-
cluster nodes命令得到加速。
-
Jemalloc更新到4.0.3版本。
Redis4.0
可能出乎很多的意料,Redis3.2之後的版本是4.0,而不是3.4、3.6、3.8。
一般這種重大版本號的升級也意味着軟件或者工具本身發生了重大改革。下面是Redis4.0的新特性:
-
提供了模塊系統,方便第三方開發者拓展Redis的功能。
-
PSYNC2.0:優化了之前版本中,主從節點切換必然引起全量複製的問題。
-
提供了新的緩存剔除算法:LFU(Last Frequently Used),並對已有算法進行了優化。
-
提供了非阻塞del和flushall/flushdb功能,有效解決刪除了bigkey可能造成的Redis阻塞。
-
提供了memory命令,實現對內存更爲全面的監控統計。
-
提供了交互數據庫功能,實現Redis內部數據庫的數據置換。
-
提供了RDB-AOF混合持久化格式,充分利用了AOF和RDB各自優勢。
-
Redis Cluster 兼容NAT和Docker。
Redis5.0
-
新的Stream數據類型。
-
新的Redis模塊API:Timers and Cluster API。
-
RDB現在存儲LFU和LRU信息。
-
集羣管理器從Ruby(redis-trib.rb)移植到C代碼。可以在redis-cli中。查看
redis-cli —cluster help
瞭解更多信息。 -
新sorted set命令:ZPOPMIN / MAX和阻塞變量。
-
主動碎片整理V2。
-
增強HyperLogLog實現。
-
更好的內存統計報告。
-
許多帶有子命令的命令現在都有一個HELP子命令。
-
客戶經常連接和斷開連接時性能更好。
-
錯誤修復和改進。
-
Jemalloc升級到5.1版