2.4 -> 2.6linux
1.SORT命令不會對非數值類型(double)排序,適用於list,set (string 類型使用 sort alpha )redis
2.EXPIRE相關命令都精確到了毫秒,不影響expire命令算法
3.INFO輸出格式中增長了空行與註釋(#開頭),主要影響格式解析工具緩存
4.slave從庫默認是隻讀,須要在redis.conf 中修改slave-read-only 字段bash
#INFO輸出改變 by Lm: changes_since_last_save -> rdb_changes_since_last_save # bgsave_in_progress -> rdb_bgsave_in_progress # last_save_time -> rdb_last_save_time # last_bgsave_status -> rdb_last_bgsave_status # bgrewriteaof_in_progress -> aof_rewrite_in_progress # bgrewriteaof_scheduled -> aof_rewrite_scheduled # # redis.conf /CONFIG SET變量名改變 by Lm: hash-max-zipmap-entries -> hash-max-ziplist-entries hash-max-zipmap-value -> hash-max-ziplist-value glueoutputbuf 已刪除
========2.6.X更新綜述==============服務器
1.增長EVAL命令,提供Server端Lua腳本支持socket
2.Virtual Memory機制移除(2.4版本爲不鼓勵使用)tcp
3.解除redis-cli最大鏈接數硬編碼,改成可配置:在 Redis2.4 中,最大鏈接數是被直接硬編碼在代碼裏面的,而在2.6版本中這個值變成可配置的。maxclients 的默認值是 10000,你也能夠在 redis.conf 中對這個值進行修改。工具
4.AOF相關語法補全,尤爲是slave端測試
5.過時設置精確度爲毫秒,增長新命令:PEXPIRE, PTTL等
6.針對set,hash,list數據類型優化了fields或values爲較小整數的內存使用
7.只讀Slaves?(待研究)
8.增長Bit操做,BITCOUNT和BITOP
9.clients中不一樣類型最大output緩存設置(緩存的設置爲了充分利用I/O時間間隔中CPU利用率問題),redis.conf中的 client-output-buffer-limit (normal , pubsub ,slave)
10.expire key算法改進:大批量key同時到期redis響應更迅速
11.redis對AOF記錄的命令會在後臺進行聚合重寫,以提升效率
12.redis.conf中全部參數均可以在redis-server中經過CONFIG命令進行修改(以前有部分參數不支持)
13.hash類型數據hash碰撞優化
14.增長redis-server --test-memory 命令進行內存測試?(待研究)
15.增長INCRBYFLOAT,HINCRBYFLOAT 命令對value和hash value增長浮點數值
16.新增DUMP,RESTORE,MIGRATE命令
17.對RDB文件增長CRC64校驗
18.優化MONITOR命令的輸出
19.增長了「看門狗」(wacthdog)用於redis的延遲調試
20.核心代碼重寫與重構,增長了redis-cluster,將在3.0版本予以支持
21.增長了啓動界面的logo展現(ASCII)
22.redis-benchmark執行選定測試用例,CSV格式輸出
23.redis-cli增長 --eval 參數直接執行lua腳本
24.SHUTDOWN命令支持SAVE ,NOSAVE兩種參數
25.INFO命令支持指定區間輸出,好比INFO CPU
26.使用INFO commandstats展現命令執行次數以及命令執行時間
27.增長SET邊緣狀況的可預測性(待研究)
28.提升對BSD系統的支持
29.Build系統改進
=========2.6.X版本更新,feature,improve點==========
2.6.0-準備版:
增長redis-cli --pipe;
AOF支持rewrite buffer>2G;
增長輪詢任務配置redis_hz(之後版本爲hz);
REPLCONF internal command introduced(待研究);
INFO增長slave端口號;
AOF會在重啓時候自動刪除不完整的語句,省去了redis-check-aof工具;
Allow Pub/Sub in contexts where other commands are blocked(待研究);
Hiredis依賴包更新;
//TODO
2.6.9:
redis-cli --rdb <filename> 從當前服務器拉取rdb到本地
增添client setname | getname 命令
2.6.10:
配置文件redis.conf 增長tcp-keepalive,使用SO_KEEPALIVE 保持server與client的鏈接
增長了參數用以關閉slave socket的Nagle算法
test 支持 tclsh 8.5以上版本
redis-cli --bigkeys輸出更簡潔
白名單SIGUSR1, 詳細:http://redis.io/topics/signals
2.6.11:
serverCron()頻率參數爲REDIS_HZ (redis.conf hz)
2.6.12:
引入test suite
增長set參數 EX PX NX XX,詳見http://redis.io/commands/set
2.6.13:
redis-cli --latency-history命令測試延遲
2.6 -> 2.8
1. TTL/PTTL命令(key剩餘有效期):key不存在返回-2 ,key存在可是沒有設置期限返回-1(2.6時候全返回-1)
2.SORT APLHA命令默認排序按照系統編碼(linux來源爲LC_COLLATE環境變量)
3.ZADD/ZINCRBY 的分數範圍變動爲雙精度64位浮點數
4.增長了新的錯誤標識,取代以前的 -ERR,例如 -WRONGTYPE, -NOAUTH, ...等
5.PUBLISH廣播如今能在從庫(slaves)間正確訂閱了
#redis.conf/CONFIG SET 變動 by Lm: logfile 配置項爲空時候日誌將輸出到標準輸出上,所以logfile stdout 無效,正確的是logfile "" #INFO輸出更改 by Lm: slave從庫列表展示形式變爲 field = value 這樣的形式
注:2.8版本的redis能夠看成redis-2.6的從庫,可是2.6不能兼容以redis-2.8做爲master的集羣