Pika Versions Save

Pika is a Redis-Compatible database developed by Qihoo's infrastructure team.

v3.4.0

3 years ago

This version has many bugs and is unstable, we have abandoned it. Use v3.3.6 instead.

注意:

这是个实验性质的版本,360内部没有在生产环境部署。请优先使用3.3.6版本。

新增功能:

  • sharding模式下内置pika proxy组件,自动代理客户端请求到响应slot节点。
  • proxy支持根据业务压力配置后端连接数。
  • proxy 支持后端连接自动保活机制。
  • proxy 支持slot 共享后端连接。
  • proxy 支持客户端pipline功能。
  • proxy 支持slot 主从切换,slot 数据迁移功能。
  • proxy 支持hash tag功能。用户可以通过hash tag 把key存储到指定的slot。
  • pika 支持protocol buf 管理接口。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用版本3.3.6。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 目前停止对3.0版本的维护

v3.3.6

3 years ago

Do not use the sharding mode. We have abandoned this mode.

新增功能:

  • 增加在分片模式下计算slot时对hash tag的支持。
  • 增加在sharding模式下支持pkscanrange 、pkrscanrange、lpushrpop命令。客户端需要指定hash tag来保证所有操作在同一个slot上。
  • 增加rocksdb memtable 配置预分配内存大小的接口。

Bug修复:

  • 修复分片模式下,配置slot num非2的幂次数目时,计算slot hash值与codis不一致的问题。
  • 修复哨兵使用pubsub命令可能导致coredump的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用本版本。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 目前停止对3.0版本的维护

v3.3.5

3 years ago

性能优化:

  • 针对zcout/zrangebyscore/zremrangebyscore/zrank命令性能优化。感谢@yurongliao的贡献

Bug修复:

  • 修复pink中holy thread错误关闭文件描述符导致rocksdb中sst文件 bad file description。建议3.2以后的版本升级到本版本。感谢@su47flying的贡献。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用本版本。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.3.4

3 years ago

Bug修复:

  • 修复命令info replication中lag 计算溢出的问题。
  • 修复因网络丢包造成binlog同步阻塞未及时重连的问题。
  • 修复网络割接场景下,同步不能自动恢复的问题。
  • 修复分片模式下,不支持大写pkcluster系列命令的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.3.0 以后的版本包含了日志复制一致性的功能,建议使用该功能的用户使用本版本。
  • 为了保证服务的稳定,建议不使用日志复制一致性的用户升级至3.2.9。
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.2.9beta

3 years ago

Rocksdb更新:

  • v3.2.9 基础上对Rocksdb 进行更新,Rocksdb 版本从5.9.2 升级至5.18.3,升级后的Rocksdb更加稳定。同时,所有原Pika接口保持不变,所有原Blackwidow 接口保持不变,继承3.2.9 以及之前所有优化。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.9
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.3.3

4 years ago

Bug修复:

  • 修复经典模式下由于使用std::vector越界有概率造成崩溃的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.9
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.3.2

4 years ago

新功能:

  • 添加 Pika Logo。
  • 提升Zrangebyscore Zrevrangebyscore 接口性能,对于Zset存在大量元素时效果提升明显。
  • 提高 thread-pool-size 可配线程数上限从24提高至100。
  • 分片模式下Pkcluster info table 命令提供表级别的更详细统计信息,详见Pika分片命令
  • 分片模式下Pkcluster info slot 命令提供更细致的slot展示选项,详见Pika分片命令
  • 分片模式下支持处理多分片任务的命令,目前支持Mset,Mget,Exists,Del。

Bug修复:

  • 修复从节点全同步之后,主从节点binlog偏移量不一致的问题。
  • 修复分片模式下Pkcluster slotsslaveof ip port all table_id 命令在多表场景下的兼容问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.9
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.3.1

4 years ago

Bug修复:

  • 修复了写请求对于table加锁时间过长的问题。
  • 修复分片模式下 pkcluster slotsslaveof 命令解析失败的问题。
  • 修复分片模式下开启副本一致性功能后,客户端命令有一定概率获得空的返回值的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.9
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.3.0

4 years ago

新功能:

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 副本一致性可配置功能目前只支持分片模式。
  • 分片模式下取消slaveof 命令,使用pkcluster slotsslaveof 替代,详细见Pika分片命令
  • 经典模式下取消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.9
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持

v3.2.9

4 years ago

Bug修复:

  • 修复网络异常场景下,std::string 追加操作导致的大量内存拷贝的问题。

注意事项:

  • 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
  • 经典模式下取消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.9
  • 3.0仍会继续维护,目前已经彻底停止对2.X的支持