j2ee绿洲

找到属于自己的一片天空
数据加载中……
redis2.4&2.6改进特点列表
最近准备将redis升级到最新版2.6,就简单从官网上寻找了一下最近的改动点.
2.2-2.4的改进
* 编码sorted sets, 小的soted sets将会使用非常小的内存
* 编码数据类型(ziplists,zipmaps,intsets)的本地持久化,更多的数据sets的保存和加载速度提高了一个数量级.
* 命令(SADD,HDEL,SREM,ZREM,ZADD,L/RPUSH)支持可变参数输入
* 为了避免减少内存碎片,支持jemalloc(linux系统默认开启)
* 保存时降低内存使用率
* 更多的信息field (peak memory, fork time, )
* OBJECT 命令 支持对象自检
* CLIENT 命令支持clients自检
* 非阻塞的从->主连接
* 更好的redis-cli连接处理,新的redis-cli特征
* 更好的redis-benchmark,现在能benchmark用户提供的命令.
* 色彩化Make命令.
* VM废弃,仍然支持,但是给出警告不要使用它.
* LRANGE优化,可以在查询一个长list的最后一部分时显著提高性能,。
* redis-cli 现在实现了一个延迟模式来监控redis的延迟
* Hash type settings 从INFO中移除 (一样的信息可以通过配置GET来获取)
* 在无法bind的时候 在错误信息中包含端口号 
* AOF fsync 当fsync策略是'everysec'的时候,运行在后台. 
* AOF performances improved moving in background a possibly slow close(2) call.
* AOF protocol synthesis speedup.
* 新的maxmemory测试.
* redis-check-dump: RDB version 2 now supported.
* 为一个uinx socket mask增加一个配置说明.
* CONFIG SET/GET 设置 loglevel.
* 在/utils 中增加redis  全系统(Debian/Ubuntu)安装脚本.
* redis-cli 现在支持单引号风格的字符串 
* 通过CONFIG SET 命令关闭密码认证.
* redis.conf 部分更好地 better documented.
* 客户端默认超时timeout是0,即永不超时.
* 调整I/O缓存长度为了提高大负载的性能. 
* Fixed crash on SPARC due to improper alighment due to bad assumptions about data types size.
* CLIENT LIST 输出加强,代码重构.
* CLIENT LIST 输出修改,包括客户端最后执行的命令.
* 协议错误现在记录log loglevel>=verbose.
* 两个新的INFO field关联到AOF,对于调查redis问题非常有用. 
* 在redis的测试中实现--quiet选项
* 在INFO 中包含每个连接的slave的ip/端口/状态. 
* 在INFO output信息中展示GCC版本.
* redis-cli增加 --pipe 模式, see http://redis.io/topics/mass-insert
* 更好地改进失效key收集算法,当大量keys在同时失效的时候, 使得server响应性能更快. 
* INFO 命令展示slaves(包括端口号) 建议使用2.4.16以上的版本作slave
 This makes Redis 2.4.16 compatible with Redis Sentinel. This fix required the introduction of a new internal command called REPLCONF, see commit b998ebe for more information.
* INFO 命令现在包含run_id字段保证Redis Sentinel的兼容性 
* 支持参数'slave priority' 通过INFO发布,主要用于Redis Sentinel.
2.4-2.6的改进
* SORT现在会拒绝无法转换为数字的数字模型元素进行排序
* EXPIREs现在支持微秒失效. (but this is very unlikely to
  break code that was not conceived exploting the previous resolution error
  in some way.)
* INFO输出现在一点不同,包含空line和'#'开通的注释.所有主流的客户端现在已经支持新的INFO格式.
* Slaves 现在默认是只读模式(但是可以通过修改配置文件red is.conf的'slave-read-only'项 为'no' 来取消只读 ,或者使用CONFIG SET来取消).

下面的INFO  field为了一致性调整了名字:
     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 GET / SET 参数做了调整:
    * hash-max-zipmap-entries, 替换为 hash-max-ziplist-entries
    * hash-max-zipmap-value, 替换为 hash-max-ziplist-value
    * glueoutputbuf option 现在已经完全废弃 (was deprecated)

* Server 端支持Lua脚本, see http://redis.io/commands/eval
* Virtual Memory 完全去掉(was deprecated in 2.4)
* 关于客户端最大数量限制的硬编码去掉.
* AOF 低级的语义更明智,尤其是使用在slaves中的时候. 
* 微秒级的expires,也增加了一些新的命令(PEXPIRE,PTTL,…) .
* 为了小集合(lists,ziplists和hashes里只包含小integer的时候)提供更好的内存使用率. * slaves只读.
* 新增位操作: BITCOUNT 和 BITOP 命令.
* 客户端最大输出缓存的软件限制和硬件限制.可以根据不同的客户端类型(normal,pubsub,slave)来指定不同的限制. 
*更多地增量过期(减少阻塞)的过期key收集算法 ,当非常多的key在同一时间失效的时候,意味着redis可以提高响应的数据.
* AOF is now able to rewrite aggregate data types using variadic commands,
  often producing an AOF that is faster to save, load, and is smaller in size.
* Every redis.conf directive is now accepted as a command line option for the
  redis-server binary, with the same name and number of arguments.
* 为了减少碰撞攻击,hash表的种子采用随机产生
* 写大量object到red is的性能提高
* 集成内存测试.见命令:redis-server --test-memory.
* INCRBYFLOAT 和 HINCRBYFLOAT命令
* 新的命令 DUMP, RESTORE, MIGRATE(从 Redis Cluster 移植到 2.6).
* CRC64 校验 in RDB files.
* 更好的监控输出log(现在命令在执行前记录log) 
* "Software Watchdog" feature to debug latency issues.
* 启动时增加Redis的ASCII码的艺术logo标记.
* 内存冲突的崩溃报告 或者失败断言 使得调试定位bug的困难程度得到一定地降低 .
* redis-benchmark 增强: 运行选择的测试,CSV输出,更快,更好的help
* redis-cli 增强: --eval  lua脚本的开发 
* SHUTDOWN 现在支持两个可选参数 'SAVE' 和 'NOSAVE' .
* INFO 输出分解为几个部分,这个命令可以指定输出某个部分. 
* 增加新的统计,一个命令被调用了多少次,被执行了多少时间(INFO commandstats) .
* More predictable SORT behavior in edge cases.
* Build模块代码改进.
* 现在当slave-serve-stale-data 设置为yes并且master挂掉的时候,  代替报告一个通常的错误的red is回复  -MASTERDOWN  
Now when slave-serve-stale-data is set to yes and the master is down, instead of reporting a generic error Redis replies with -MASTERDOWN.


posted on 2012-12-25 10:19 心情经纬 阅读(617) 评论(0)  编辑  收藏 所属分类: Redis


只有注册用户登录后才能发表评论。


网站导航: