分类: Redis
-
本文记录在阿里云 ECS 的 OneinStack 环境中,将源码安装的 Redis 7.0.11 升级到 Redis 8.10.0 的完整过程。内容包括升级前环境审计、vm.overcommit_memory 与 Transparent Huge Pages 优化、手动生成 RDB、双重备份与自动回滚、RedisBloom 等附加模块编译失败分析、Redis 核心二进制单独构建、旧版 RDB 兼容检查、临时端口与 PHP Redis 读写测试,以及生产切换后的 WordPress、W3 Total Cache、内存和缓存状态验证。
-
本文记录了在1核2G阿里云ECS服务器上解决WordPress单日126次504超时的全过程。故障根源在于18000个标签页导致并发过高,通过禁用WP-CRON并改用系统定时任务、配置Nginx限流拦截恶意爬虫、调整W3TC与Redis缓存策略以绕过数据库查询,实现了从系统机制到缓存层的全面调优。该方案在不影响SEO和数据完整性的前提下,成功压榨服务器性能并解决了高负载与超时问题。
-
本文记录了在 Ubuntu 26.04 上利用 Docker 搭建 Go Gin 开发环境的全过程。通过编写 Dockerfile 预装 Git,构建 Go 1.26 Alpine 镜像,并编写 docker-compose.yml 接入现有的 MySQL 和 Redis 自定义网络。最终实现了在容器内运行 Gin 应用,成功验证了数据库连通性及 API 请求,实现了代码与数据库容器的分离部署。
-
本文介绍了在 Ubuntu 系统下使用 Docker 引擎管理多版本数据库的开发环境配置过程。文章解决了 VPN 环境下的网络超时问题,通过指定公共 DNS 和配置 DaoCloud 镜像加速器实现了镜像拉取。作者演示了部署 MySQL 5.7、MySQL 8.0 与 Redis 7.2 容器的完整步骤,包括编写 Docker Compose 文件及处理 8.0 连接兼容性。最终实现了容器间的网络互通与数据持久化,为项目提供稳定且版本隔离的数据库支持。
-
本文记录了在 WordPress 网站使用 Polylang 插件批量处理标签时,因 W3 Total Cache 的 Redis 对象缓存引发 OOM 错误的解决过程。通过排查发现 Redis 最大内存限制过小且淘汰策略配置不当,导致写入被拒绝。解决方案是通过修改配置文件将最大内存上限提升至 1GB,并将淘汰策略调整为 allkeys-lru,最终使批量脚本顺利完成,验证了调整内存参数和淘汰策略的有效性。
-
本文记录了在 WSL-Ubuntu 环境下使用 Docker 搭建 Hyperf 框架时解决 Redis 连接失败问题的过程。文章排查了连接拒绝的原因,确立了基于 WSL 的最佳开发架构,通过创建 Docker 公共网络实现了 Redis、MySQL 容器与 Hyperf 项目的互通。最终通过修改 .env 配置文件,成功启动服务并实现了通过 localhost 访问。
-
Redis官方未提供Windows原生安装包,尝试安装Memurai因路径问题未果后转用WSL2方案。在Ubuntu环境中从官方APT存储库安装Redis,修改配置文件绑定地址为0.0.0.0,并设置身份验证密码。通过查询WSL的IP地址,最终成功在Windows主机上连接至WSL2中运行的Redis服务。
-
在 Laravel 9 中使用 Redis 门面的 hset 方法尝试传递多个字段和值时,系统报错提示参数数量错误。尽管 Redis 4.0 起已支持 HSET 一次设置多个键值对并废弃了 HMSET,但该环境下暂不支持多参数传递。最终解决方案是保持使用 HSET 命令,改为每次仅传递一个字段值并通过多次执行来实现,修复后运行正常且数据结构符合预期。
-
本文记录了在 Laravel 9 中执行 Redis::set 写入 Carbon 对象时遇到的数据类型差异问题,对比了生产环境写入 Object 与测试环境写入日期时间字符串的不同表现。通过对比 .env 文件发现,差异根源在于客户端配置的不同,详细分析了 PHPRedis 扩展与 predis/predis 包在处理该操作时的具体区别,最终根据配置差异确定了问题成因。
-
本文记录在 Windows 10 上利用 Ubuntu 执行 .sh 脚本文件的排查过程。作者通过 Windows Terminal 进入 Ubuntu 系统,访问 /mnt/c 挂载的 C 盘目录并运行脚本,过程中遇到 PHP Redis 扩展缺失及连接拒绝等报错。经排查环境并安装扩展后证实,脚本执行依赖的环境需在 Ubuntu 中完整配置,且连接的是系统内的 Redis 而非 Windows 中的服务。
