Predis v2.4.0-RC1发布:Redis PHP客户端迎来多项重要更新
Predis是一个纯PHP实现的Redis客户端库,它不需要任何额外的扩展即可运行,为PHP开发者提供了高效、灵活的Redis操作接口。作为Redis在PHP生态中的重要桥梁,Predis一直保持着活跃的更新节奏。近日,Predis发布了v2.4.0的第一个候选版本(RC1),带来了多项功能增强和问题修复。
新增功能亮点
本次版本最值得关注的是新增了对哈希字段过期命令的支持。在Redis 7.0及以上版本中,引入了哈希字段级别的过期功能,这为缓存场景提供了更细粒度的控制能力。Predis v2.4.0-RC1现在完整支持这一特性,开发者可以直接通过Predis操作哈希字段的过期时间。
此外,版本还补充了两个重要命令的实现:
FT._LIST命令用于列出所有全文搜索索引BITFIELD_RO命令提供了位域操作的只读版本
这些新增命令使得Predis能够更好地支持Redis的最新功能特性,特别是全文搜索和位操作等高级功能。
重要改进与优化
在命令接口方面,WATCH命令现在可以接受字符串或字符串数组作为参数,这使得代码编写更加灵活。这一改进符合Redis多键事务监控的实际使用场景,开发者不再需要手动将多个键名转换为数组。
集群模式下,Predis对槽位映射(slotmap)的处理进行了优化,采用了更紧凑的槽范围对象表示方式。这一内部改进虽然对用户透明,但能显著提升集群模式下大规模键操作时的性能表现,特别是在处理跨节点操作时。
关键问题修复
针对Redis只读副本的支持,本次版本修复了几个重要问题:
- 修正了
EVAL_RO命令在集群模式下的支持问题 - 将
GEOSEARCH标记为只读命令,确保它能在副本节点上执行
这些修复确保了在读写分离架构中,Predis能够正确地将只读命令路由到副本节点,充分发挥Redis集群的扩展能力。
在PHP兼容性方面,版本解决了PHP 8.4环境下stream_context_set_option()函数的使用问题,并防止了命名参数可能导致的运行时错误,为即将到来的PHP版本做好了准备。
测试与质量保证
开发团队在持续集成方面做了重要工作:
- 新增了对Redis 8.0的CI测试支持
- 扩展了测试覆盖范围以确保与Redis 8.0的兼容性
这些措施保证了Predis能够跟上Redis服务器版本的演进,为用户提供稳定可靠的使用体验。同时,项目开始采用并行方式运行PHP-CS-Fixer,进一步提升了代码风格检查的效率。
升级建议
对于正在使用Predis的开发团队,v2.4.0-RC1作为预发布版本,已经展现出良好的稳定性。建议开发者在测试环境中先行验证,特别是关注以下方面:
- 哈希字段过期功能是否符合预期
- 集群模式下只读命令的行为是否正确
- 与Redis 8.0的交互是否存在问题
这次更新标志着Predis在功能完整性和稳定性上又迈出了重要一步,为PHP开发者提供了更强大的Redis操作能力。随着Redis新特性的不断加入,Predis持续保持同步更新,巩固了其作为PHP生态中Redis首选客户端的地位。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0193- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00