Releases: OpenAtomFoundation/pika
Releases · OpenAtomFoundation/pika
v3.4.0[abandoned]
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
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
性能优化:
- 针对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
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.9-beta
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
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
新功能:
- 添加 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
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
新功能:
- 分片模式下支持副本一致性可配置功能,提供consensus-level和replication-num配置,详细见pika 配置文件说明,使用文档详见副本一致性使用文档,设计文档详见副本一致性设计文档。
- 分片模式下支持table的动态添加,删除,展示。
注意事项:
- 分片模式和经典模式不可兼容,请在启动时候配置好启动模式
- 副本一致性可配置功能目前只支持分片模式。
- 分片模式下取消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
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的支持