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

项目简介

Pika is a nosql compatible with redis, it is developed by Qihoo's DBA and infrastructure team

发行版本 63

v3.5.0

全部发行版

贡献者 65

全部贡献者

开发语言

  • C++ 97.1 %
  • Shell 0.9 %
  • C 0.9 %
  • Makefile 0.8 %
  • Dockerfile 0.3 %