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的集群