标签: Redis
-
本文介绍了在 Windows 10 中将 PHP 升级至 7.2 版本的操作过程。主要步骤包括下载 VC15 x64 线程安全版及安装 Visual C++ 运行库,将文件解压至指定目录并更新系统环境变量。文章详细说明了如何通过修改 php.ini 配置文件设置扩展目录、加载所需模块,并添加了 Redis 扩展支持。此外,还涵盖了 Session 保存路径、文件上传临时目录以及时区的具体配置方法,确保各项功能正常运行。
-
针对微博微连接网页应用授权接口允许游客访问导致的安全风险,文章介绍了基于 Yii 2 框架使用 SAM-IT/yii2-urlsigner 插件实现 URL 签名与验证的过程。通过 Composer 安装插件并配置控制器和操作,实现了对 URL 参数篡改、签名缺失及超时的拦截。为解决签名在有效期内可重复使用的问题,作者进一步引入 Redis 存储 HMAC 签名并创建自定义过滤器,成功确保了签名的一次性有效性。
-
本文介绍了在 Yii 2 高级模板中设计渠道发布接口的架构,旨在实现文章同步至企鹅号等渠道。通过复制应用调整配置、配置 Nginx 单域名路由,基于队列扩展和控制台命令推动工作流程。详细阐述了资源复制、文件上传、文章发布及来源回调等队列任务与事件处理器的实现,并进行了失败重试与状态更新测试。测试结果验证了该架构能有效处理视频发布流程,确保任务在异步执行中达成最终一致性。
-
本文介绍了在 Yii 2 Starter Kit 中实现 RESTful 应用缓存管理的过程。通过编辑控制器、创建模型与逻辑层文件,实现了基于缓存组件ID获取列表、基于组件ID与缓存键删除缓存以及清空缓存的功能。测试结果显示,清空缓存操作会调用 flush() 方法删除 Redis 中的所有数据,而非仅限于该组件ID下的特定数据。
-
本文介绍了在 Yii 2.0 高级模板中实现模型分层的具体流程。文章将模型划分为负责数据存取接口的数据层与负责业务逻辑的逻辑层,通过在 common 目录下新建 logics 目录并调整文件继承关系,实现 MySQL 与 Redis 模型的数据与逻辑分离,最终在 api 模块中继承逻辑层代码,从而完成项目结构的清晰化重构。
-
本文针对基于Yii 2的ActiveRecord导致Redis CPU使用率达到100%的问题进行了分析。通过监控发现,随着比赛数据增加,响应时间恶化,Redis CPU飙升。经排查,deleteAll和count查询方法在模型Key数量较大时消耗了大量资源。验证测试表明,将count调整为exists以及重构部分ActiveRecord为Redis原生命令后,CPU使用率显著下降。最终结论是insert性能优于one/exists,count/all消耗最大,建议在单模型Key数量超过10000时避免使用ActiveRecord进行查询操作。
-
本文介绍了在 Yii2.0 框架下实现 Redis 锁定机制的具体流程。文章首先设置锁定过期时间并获取 Redis 连接,使用 SETNX 命令获取锁及 DEL 命令释放锁。针对高并发场景下锁过期的竞争问题,作者对比了两种算法,最终采用基于 GETSET 的第二种方案确保只有一个客户端能获取过期锁。验证通过后,将获取与释放锁的逻辑抽象为独立的类文件,完成了功能封装。
-
本文记录了在阿里云ECS的CentOS 7系统下,基于OneinStack部署LNMP环境并运行Yii2高级应用程序模板的流程。内容包括自动格式化SSD数据盘、修改安装路径、添加虚拟主机及FTP上传程序。操作中针对404错误配置了URL重写规则,并编译安装了Fileinfo与Redis扩展,最终配置PHP使用Redis存储Session及删除默认目录以完成安全设置。
-
本文记录了在Windows 10及CentOS 6.5环境下,配置Apache和Redis实现用户Session会话分布式存储的流程。文章详细说明了Redis服务端访问权限与密码设置、Web端php.ini及phpRedisAdmin配置,以及在连接认证失败后通过移除特殊字符修改密码解决问题的方法。最终测试验证了PHP会话ID可使用SHA512加密算法,并成功将Session存储于远程Redis服务中。
