Skip to content

Releases: OpenAtomFoundation/pika

v3.0.5

22 Nov 06:45
f02f9e9
Compare
Choose a tag to compare

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数据重新导入。

v3.0.4

30 Oct 08:08
e569bb5
Compare
Choose a tag to compare

Bug修复:

  • 修复Pika在进行同步的过程中存在内存泄漏的问题
  • 修复配置文件中多个配置项设置过大值可能导致溢出的问题

优化 & 新特性:

  • 新增pkscanrange和pkrscanrange命令,可以正序和逆序对不同数据结构的Key进行Scan
  • 新增pkhscanrange和pkhrscanrange命令,可以正序和逆序对指定hash table中的field/value进行Scan
  • 新增命令文档可以参考(差异化命令)

注意事项

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

v3.0.3

30 Sep 04:34
8ff15e8
Compare
Choose a tag to compare

Bug修复:

  • 修复命令执行次数的统计功能会区分命令大小写的问题
  • 修复某些场景下执行monitor命令会造成该连接断开的问题
  • 修复引擎全量Compact执行完毕前Pika可能无法正常关闭的问题
  • 修复一次MSet超过10000个key会造成一个线程阻塞的问题

优化 & 新特性:

  • 暴露了更多rocksdb参数,具体可以参考pika.conf文件
  • 添加是否将慢日志写入到pika.ERROR的开关, 该开关默认关闭
  • nemo_to_blackwidow工具添加-b参数用来控制多数据结构每次迁移成员的数量,部分场景下迁移性能提高极大,具体可以参考wiki

注意事项

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

v3.0.2

03 Sep 04:34
de8bc56
Compare
Choose a tag to compare

Bug修复:

  • 修复blackwidow内存使用统计不准确的问题
  • 修复关闭slave会造成内存中未处理完任务丢失的问题
  • 修复后台任务线程接收到不可识别命令后可能崩溃的问题
  • 修复config set命令在某些异常场景下与redis返回不一致的问题
  • 修复binlog_receiver监听端口收到异常数据可能造成同步中断的问题
  • 修复pika网络库收到到某种异常数据可能会因解析失败而崩溃的问题

优化 & 新特性:

  • 新增控制项允许配置实例是否写binlog
  • 新增命令执行次数统计功能,可以通过info all进行查看
  • 已支持多网卡、多IP机器,可通过服务器上任意IP创建同步关系
  • 新增psetex命令,需要注意的是,psetex不支持1000ms以下的值
  • 优化了scan, sscan, hscan, zscan的性能,在某些场景下效率大幅度提升
  • 新增slowlog命令,slowlog使用方式与redis完全一致,同时slowlog仍会写入pika.ERROR日志

注意事项

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

v3.0.1

15 Aug 10:46
0089e93
Compare
Choose a tag to compare

Bug修复:

  • 修复对大量的key反复执行spop可能导致崩溃的问题
  • 修复存在从库的主库不能动态修改identify-binlog-type的值的问题
  • 修复主库rsync数据给从库失败可能无法再次rsync数据给这个从库直到重启的问题
  • 修复在调用zadd接口的时候, 如果输入的浮点数非法,返回的结果和redis不一致的问题

优化 & 新特性:

  • 支持geo
  • 针对全新的binlog开发了binlog_sender工具,可以使用binlog来同步数据
  • nemo_to_blackwidow迁移工具可以实时查看到当前迁移key的数量, 并且添加了log的开关

注意事项

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

v3.0.0

01 Aug 08:08
8296be3
Compare
Choose a tag to compare

Bug修复:

  • 修复短时间内执行多次client kill命令, 只有第一次会生效的问题
  • 修复在拥有大量Key的场景下, 执行dbsize由于溢出返回值可能为负数的问题

优化 & 新特性:

  • ZSet精度与Redis完全一致
  • 多数据结构Key的长度取消256字节的限制
  • 调整慢日志中客户端信息位置,便于统计
  • 同步状态增加repl_state信息,使同步状态展示更加清晰
  • 对Server层代码逻辑进行全面优化,去除冗余代码以提高Server层整体性能
  • 全新设计的binlog, 新版binlog有更高的解析效率且体积更小, 对磁盘空间更友善, 同时能够向后兼容
  • pika3.0使用全新开发的存储引擎,大多数接口的性能显著提升,更加节省磁盘空间(blackwidow存储引擎数据格式)

注意事项

  • pika3.0暂不支持codis,pika-hub,geo相关api
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • pika 3.0.0版本替换了数据引擎以及对binlog做了升级,由低版本升级到pika3.0.0可以参照wiki进行升级(如何升级到Pika3.0)

v2.3.6

25 Jul 07:04
Compare
Choose a tag to compare

Bug修复:

  • 修复pika binlog接收端口遭遇异常访问可能导致崩溃的问题(该问题影响版本为2.3.3~2.3.5)
  • 修复List数据结构对应的DB在某些场景下Compact不能正常释放空间的问题

注意事项

  • Pika 2.3.3版本添加了主从Server ID认证机制,无法之前的所有版本无法建立主从关系,升级请注意!
  • pika 2.3版本仅支持做2.3+版本的主从,请勿将pika 2.2和pika2.3建立主从
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • 仅支持从2.1.0+版本平滑升级到2.3.0,如果从更早版本升级,请看2.1.0的注意事项

v2.3.5

28 Jun 09:00
8301fa5
Compare
Choose a tag to compare

Bug修复:

  • 修复配置文件中密码项有特殊符号导致密码不生效的问题
  • 修复频繁执行Slaveof可能会杀死当前用户所有进程的问题
  • 修复某些场景下Hash表已经过期,使用HGetall还能获取到其成员的问题
  • 修复hash/set/zset/list结构反复经历多次过期、复用,可能会出现过期数据残留的情况,极端情况下会造成主从数据不一致的问题
  • 修复在使用3.1版本以上的rsync的时候必须使用root权限启动pika, 否则rsync不可用的问题
  • 修复Pika Srandmember行为与Redis不一致的问题

优化 & 新特性:

  • Pika支持Echo命令
  • Slowlog记录产生慢日志客户端的IP和端口号
  • 日志输出更加详细,方便排错

注意事项

  • Pika 2.3.3版本添加了主从Server ID认证机制,无法之前的所有版本无法建立主从关系,升级请注意!
  • pika 2.3版本仅支持做2.3+版本的主从,请勿将pika 2.2和pika2.3建立主从
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • 仅支持从2.1.0+版本平滑升级到2.3.0,如果从更早版本升级,请看2.1.0的注意事项

v2.3.4

17 May 08:55
3b86e4a
Compare
Choose a tag to compare

Bug修复:

  • 修复多数据结构一次写入多个元素binlog解析异常导致同步僵死问题
  • 修复config set maxclients不生效的问题
  • 修复配置文件中userblacklist项配置大写命令不生效的问题
  • 修复pika_to_redis工具在数据量小的情况下偶现迁移失败的问题

优化 & 新特性:

  • compact某个指定的数据类型的时候,info信息展示该数据结构名称,而不是ALL
  • info信息根据配置文件的配置(双主,hub)模式来选择输出格式
  • 在主库添加从库同步的lag信息, 用于展示当前同步延迟状态 (lag的单位是Byte)

注意事项

  • Pika 2.3.3版本添加了主从Server ID认证机制,无法之前的所有版本无法建立主从关系,升级请注意!
  • pika 2.3版本仅支持做2.3+版本的主从,请勿将pika 2.2和pika2.3建立主从
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • 仅支持从2.1.0+版本平滑升级到2.3.0,如果从更早版本升级,请看2.1.0的注意事项

v2.3.3

28 Mar 12:49
Compare
Choose a tag to compare

Bug修复:

  • 修复EPOLLOUT事件触发占用CPU过高的问题
  • 解决主从连接中Host与Binlog Sender的IP不一致的双网卡冲突(注意:因为添加了主从Server ID认证机制,v2.3.3版本无法与之前的所有版本建立主从关系,升级请注意!)
  • 修复工具pika_to_redis读缓冲区的问题
  • 修复config rewrite会覆盖用户后期添加的配置参数
  • 修复slave-priority无法通过config set在线修改的问题
  • 修复rsync全同步过程反复重传的问题
  • 修复主从连接密码问题,即主如果设置了requirepass配置项, 从必须设置masterauth配置项认证连接.

优化 & 新特性:

  • flushdb命令支持指定的数据类型(例如flushdb string)
  • compact命令支持指定的数据类型( 例如compact hash)
  • Pika Hub支持动态增删Hub节点

注意事项

  • Pika 2.3.3版本添加了主从Server ID认证机制,无法之前的所有版本无法建立主从关系,升级请注意!
  • pika 2.3版本仅支持做2.3+版本的主从,请勿将pika 2.2和pika2.3建立主从
  • pika从2.1.4推荐需要使用gcc 4.8+版本编译,更新gcc后执行make distclean && make编译
  • 仅支持从2.1.0+版本平滑升级到2.3.0,如果从更早版本升级,请看2.1.0的注意事项