尊敬的社区朋友及 PikiwiDB(Pika) 用户们:
我们非常高兴地宣布,PikiwiDB (Pika) v3.5.6版本已经正式发布!这是继v3.5.5 之后的重要更新,重点致力于优化性能、提升稳定性并修复了多个关键的 bug。Pika v3.5.6 无疑是目前最稳定且高效的版本,能够帮助各位用户在复杂的生产环境中实现卓越的性能表现。
版本连接:
https://github.com/OpenAtomFoundation/pikiwidb/releases/tag/v3.5.6
主要改进
1. 性能提升
统计命令耗时
我们增强了对 PikiwiDB 中命令处理的统计,特别是 Redis 缓存的读取/更新、写入 binlog 和存储处理的时间。通过全面的数据采集,可以更清晰地了解每个命令在不同阶段的耗时表现。https://github.com/OpenAtomFoundation/pikiwidb/pull/3036
精简日志与监控信息
为了提升系统的调试效率和运行可视化,我们简化了日志记录,并增加了更精细的耗时统计。同时,修改了暴露的监控信息,帮助运维人员更快速地发现潜在问题。https://github.com/OpenAtomFoundation/pikiwidb/pull/3044
https://github.com/OpenAtomFoundation/pikiwidb/pull/3119
命令线程池优化
对 Auth 命令进行了优化,将其纳入管理命令线程池中,避免主线程池因卡住而导致连接建立失败。https://github.com/OpenAtomFoundation/pikiwidb/pull/3048
客户端连接优化
当客户端关闭连接后,Pika 会跳过处理该客户端的请求,防止请求堵塞,提升整体系统响应能力。https://github.com/OpenAtomFoundation/pikiwidb/pull/3111
2. 关键 bug 修复
修复缓存与数据库不一致
在 Pika 中,针对一些特定的命令,如 Append 和部分 RedisCache 读接口,我们修复了它们在缓存和数据库中不一致的情况,避免了潜在的数据丢失问题。https://github.com/OpenAtomFoundation/pikiwidb/pull/3034
https://github.com/OpenAtomFoundation/pikiwidb/pull/3088
修复 Rediscache 异步加载的问题。
https://github.com/OpenAtomFoundation/pikiwidb/pull/3037
解决主从切换问题
我们修复了 Codis 主从切换不正确的问题,并确保当 Pika-slave 节点恢复后,Codis-dashboard 能正确更新元信息https://github.com/OpenAtomFoundation/pikiwidb/pull/3048
提升缓存性能
修复了 RedisCache 最大存储范围不准确的问题,并增加了对字符串类型的 Key 最大缓存大小的配置选项。https://github.com/OpenAtomFoundation/pikiwidb/pull/3064
https://github.com/OpenAtomFoundation/pikiwidb/pull/3043
修复 Telnet 连接崩溃问题
在极端情况下,Pika 中的 Telnet 连接偶发性崩溃问题得到了修复,修复 getrange 和 setrange 多次执行偶发性导致 pika 崩溃的问题,确保连接更加稳定。https://github.com/OpenAtomFoundation/pikiwidb/pull/3099
https://github.com/OpenAtomFoundation/pikiwidb/pull/3106
优化慢请求日志
增强了对慢请求的日志记录功能,并加入了对 Pipeline 请求过多导致排队的耗时统计,帮助用户更好地监控和优化请求响应时间。https://github.com/OpenAtomFoundation/pikiwidb/pull/3142
优化时间统计
更新 Codis、Pika 和 Pika_exporter,修正版本时间记录方式,Pika 的构建时间改为使用 Make 编译时间并调整为 UTC 时间标准
https://github.com/OpenAtomFoundation/pikiwidb/pull/3049
Pipline 方式读取 bug 修复
修复pipeline模式下管理命令分离的bug,没有优化读取性能。
https://github.com/OpenAtomFoundation/pikiwidb/pull/3098
blob-cache 功能修复
修复因为传参不准确导致 blockcache 功能不能使用的问题。
https://github.com/OpenAtomFoundation/pikiwidb/pull/3105
3. 重要功能增强
配置文件优化
通过修改配置文件,用户可以精确控制 RedisCache 中元素的最大数量和大小,提升内存使用效率并避免缓存溢出问题。https://github.com/OpenAtomFoundation/pikiwidb/pull/3043
修复 Zadd 和 SPOP Pika 返回值与 Redis 不一致的问题
修复了多个命令在与客户端交互时返回值不一致的问题,尤其是在多次执行 Zadd 和 SPOP 时,确保与 Redis 行为一致。
https://github.com/OpenAtomFoundation/pikiwidb/pull/3108
https://github.com/OpenAtomFoundation/pikiwidb/pull/3129
防止连接数上限问题
针对因请求超时关闭连接导致的积累大量close_wait
状态连接问题,Pika 做了优化,防止达到连接数上限后阻止新连接的接收。https://github.com/OpenAtomFoundation/pikiwidb/pull/3089
安全性保证
修复
requirepass
是非空的但可通过任意密码连接的问题。https://github.com/OpenAtomFoundation/pikiwidb/pull/3113
版本亮点
提升性能:引入耗时统计、日志精简和管理命令线程池,显著提升了 Pika 在高并发和大量请求处理中的效率。
关键 Bug 修复:解决了多项严重问题,包括数据不一致、超时问题、命令执行错误等,确保了 Pika 的稳定性和可靠性。
更多配置选项:新增了对 RedisCache 存储配置和 RocksDB 参数的动态调整支持,为用户提供了更大的灵活性,能够根据业务需求进行定制化优化。
贡献者名单
Pika v3.5.6 的发布离不开所有社区成员的贡献,特别感谢以下贡献者对本次版本的支持与参与(按字母顺序排列):
wangshao1
Mixficsol
chenbt-hz
YuCai18
chejinge
感谢大家为 Pika 提供了持续的改进和支持!
总结
Pika v3.5.6 是当前最稳定的版本,修复了大量 bug,并引入了多项性能优化。通过这次版本更新,Pika 在高并发、高负载场景下的表现将更加优异,能够为您的生产环境提供更可靠、更高效的支持。我们鼓励您尽快升级至 v3.5.6,享受更稳定和更高效的体验!
感谢大家对 Pika 的支持与信任,未来我们将继续不断创新与完善,期待与您共同成长!
更多详情请访问官方发布页面
https://github.com/OpenAtomFoundation/pikiwidb
以上就是 Pika v3.5.6 的重要更新内容,我们相信这一版本将为用户带来更强大的功能和更高的稳定性!希望大家积极参与,继续为 Pika 的发展贡献力量。
社区





