优化&新特性

  • 新增compression 压缩选项LZ4, ZSTD,详见pika 配置文件说明。发布的二进制文件仅提供SNAPPY的静态库链接。如需要其他压缩方式,请安装相应压缩库自行编译。
  • 增加max-conn-rbuf-size 配置参数,用于调整单次命令请求最大缓存大小,详见pika 配置文件说明
  • 优化docker镜像编译流程。

Bug修复:

  • 修复单次请求命令过大(通常超过64M)造成从库同步失败的问题.
  • 修复protobuf 序列化2G以上命令会出现崩溃的问题。
  • 修复输入DBSLAVEOF dbx no one命令后依然会不断尝试重连的问题。
  • 修复compact-cron, compact-interval不起作用的问题。
  • 修复旧版tcmalloc带来的内存占用过多导致OOM的问题(升级tcmalloc版本至2.7)。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 经典模式下取消info log命令,info log 的binlog offset移至info replication,info log 的binlog size移至info data
  • 分片模式下取消info replication命令,用pkcluster info slot替代
  • 由于redis-cli 对于数据展示格式限制,对于pkcluster info slot的数据展示格式不够人性化。可以自行修改redis-cli代码 redis-cli modification
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • pika3.1.0版本之后不再支持双主
  • pika3.1.0版本使用pb协议进行内部通信,不能直接和之前的版本建立主从关系,由低版本升级到pika3.1.0可以参照wiki进行升级(如何升级到Pika3.0如何升级到Pika3.1)
  • 由于zset精度的优化(自pika3.0.0起zset精度已与redis一致),如果你在低版本的pika(<3.0.0)中使用了geo功能,请在将其升级到pika3.0时不要直接使用nemo_to_blackwidow工具进行geo相关zset(其它结构的数据不受影响)数据的迁移,否则由于精度差异问题,迁移后的geo数据将损坏,建议使用客户端将geo相关zset数据重新导入。
  • 为了保证服务的稳定,建议所有用户升级至3.2.8
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

项目简介

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 %