分类: Redis
-
针对阿里云 Redis 报错 Redis error ERR for redis cluster, eval/evalsha number of keys can’t be negative or zero 的问题,经参考开发者文档分析,这是由于云 Redis 集群对 Lua 脚本有限制,调用时必须携带 key,否则会直接返回错误。文章中采用了放弃使用阿里云 Redis 集群的方式使问题得以解决,并指出后续若要支持 Redis 集群,需要在程序层面进行调整。
-
本文介绍了在 Yii 2.0 生产环境中开启 Schema 缓存以优化性能的操作,包括修改配置文件、验证 Redis 缓存生成及手动清理缓存的命令。测试发现清除 Schema 缓存后并非立即刷新数据,而是在下次调用相关表结构时触发更新。文章还说明了在 Docker 容器部署和 Rancher 升级时执行数据库迁移与清理命令的流程。性能测试对比显示,开启缓存后接口并发峰值反而略有下降,因此决定暂时保留该配置不回退。
-
本文针对基于Yii 2的ActiveRecord导致Redis CPU使用率达到100%的问题进行了分析。通过监控发现,随着比赛数据增加,响应时间恶化,Redis CPU飙升。经排查,deleteAll和count查询方法在模型Key数量较大时消耗了大量资源。验证测试表明,将count调整为exists以及重构部分ActiveRecord为Redis原生命令后,CPU使用率显著下降。最终结论是insert性能优于one/exists,count/all消耗最大,建议在单模型Key数量超过10000时避免使用ActiveRecord进行查询操作。
