Bug修复:
- 修复HMGet已过期的key时行为与Redis不一致的问题
- 修复maxmemory配置项的值太大会造成展示溢出的问题
- 修复从库关闭readonly情况下执行bgsave/flushall可能导致整个实例锁死的问题
- 修复了某一客户端执行耗时极长操作(例如keys *)时可能导致连接在对应线程上的其他客户端全部阻塞的问题
优化 & 新特性:
- 优化网络库redis协议解析代码,增加代码可读性
- 提高pika binlog parser的处理性能,支持批量binlog的解析
- 对网络库进行改造,并且添加了线程池用于处理写db以及写binlog等耗时操作,有效降低延迟,部分接口性能提升5%~20% (配置文件中新添加thread-pool-size项用于控制线程池大小)
注意事项
- pika3.0.7暂不支持pika-hub
- pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
- pika 3.0.0版本替换了数据引擎以及对binlog做了升级,由低版本升级到pika3.0.0可以参照wiki进行升级(如何升级到Pika3.0)
- 由于zset精度的优化(自pika3.0.0起zset精度已与redis一致),如果你在低版本的pika(<3.0.0)中使用了geo功能,请在将其升级到pika3.0时不要直接使用nemo_to_blackwidow工具进行geo相关zset(其它结构的数据不受影响)数据的迁移,否则由于精度差异问题,迁移后的geo数据将损坏,建议使用客户端将geo相关zset数据重新导入。
- 为了保证服务的稳定,建议所有3.0.x用户升级至3.0.7,2.X用户升级至2.3.6或3.0.7