Bug修复:

  • 修复config set对某些配置项允许设置非法参数的问题
  • 修复mset和msetnx命令某些场景下只能部分同步到从库的问题
  • 修复TTL命令在某些场景下可能会返回已经失效key过期时间的问题
  • 修复mget和hmget命令在对应value为空串时返回结果和redis不一致的问题
  • 修复执行appen, decrby, incrby, incrbyfloat会清除对应key过期属性的问题
  • 修复某些场景下执行pubsub命令会阻塞Pika一个线程直到重启才可恢复的问题

优化 & 新特性:

  • 双主模式下支持通过slaveof no one来断开同步
  • 优化部分多数据结构的接口,效率有不同程度的提升
  • 取消read-only参数、命令, 增加slave-read-only参数,作用与redis完全一致
  • 通过info keyspace 1统计key数量时将实例中可淘汰key数量也进行统计,方便观察
  • 对引擎层进行优化,对不同的操作进行统计,在合适的时候触发小范围的key级别compact,尽可能的降低磁盘碎片率及碎片对性能的影响,实验性功能,默认关闭

注意事项

  • pika3.0.5暂不支持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数据重新导入。

项目简介

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 %