Redis 分类归档 - 永夜 https://www.shuijingwanwq.com/category/database/redis/ 没有不值得去解决的问题,也没有不值得去学习的技术! Wed, 05 Aug 2026 12:13:54 +0000 zh-Hans hourly 1 https://wordpress.org/?v=7.1 https://media.shuijingwanwq.com/2026/05/logo-150x150.png Redis 分类归档 - 永夜 https://www.shuijingwanwq.com/category/database/redis/ 32 32 阿里云 OneinStack 实战:将 Redis 7.0.11 升级到 8.10.0,并完成内核优化与回滚保护 https://www.shuijingwanwq.com/2026/08/05/22870/ Wed, 05 Aug 2026 12:13:51 +0000 https://www.shuijingwanwq.com/?p=22870 本文记录在阿里云 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、内存和缓存状态验证。

阿里云 OneinStack 实战:将 Redis 7.0.11 升级到 8.10.0,并完成内核优化与回滚保护最先出现在永夜

]]>
从单日126次504超时到彻底稳定:WordPress 1核2G服务器极限优化全记录(附全部实操命令) https://www.shuijingwanwq.com/2026/06/05/15810/ https://www.shuijingwanwq.com/2026/06/05/15810/#comments Fri, 05 Jun 2026 10:09:28 +0000 https://www.shuijingwanwq.com/?p=15810 本文记录了在1核2G阿里云ECS服务器上解决WordPress单日126次504超时的全过程。故障根源在于18000个标签页导致并发过高,通过禁用WP-CRON并改用系统定时任务、配置Nginx限流拦截恶意爬虫、调整W3TC与Redis缓存策略以绕过数据库查询,实现了从系统机制到缓存层的全面调优。该方案在不影响SEO和数据完整性的前提下,成功压榨服务器性能并解决了高负载与超时问题。

从单日126次504超时到彻底稳定:WordPress 1核2G服务器极限优化全记录(附全部实操命令)最先出现在永夜

]]>
https://www.shuijingwanwq.com/2026/06/05/15810/feed/ 2
Ubuntu 26.04 + Docker 搭建 Go Gin 开发环境(全记录) https://www.shuijingwanwq.com/2026/06/03/15587/ https://www.shuijingwanwq.com/2026/06/03/15587/#comments Wed, 03 Jun 2026 11:44:06 +0000 https://www.shuijingwanwq.com/?p=15587 本文记录了在 Ubuntu 26.04 上利用 Docker 搭建 Go Gin 开发环境的全过程。通过编写 Dockerfile 预装 Git,构建 Go 1.26 Alpine 镜像,并编写 docker-compose.yml 接入现有的 MySQL 和 Redis 自定义网络。最终实现了在容器内运行 Gin 应用,成功验证了数据库连通性及 API 请求,实现了代码与数据库容器的分离部署。

Ubuntu 26.04 + Docker 搭建 Go Gin 开发环境(全记录)最先出现在永夜

]]>
https://www.shuijingwanwq.com/2026/06/03/15587/feed/ 2
配置开发环境:使用 Docker 管理多版本 MySQL 与 Redis https://www.shuijingwanwq.com/2026/06/01/15331/ Mon, 01 Jun 2026 08:48:33 +0000 https://www.shuijingwanwq.com/?p=15331 本文介绍了在 Ubuntu 系统下使用 Docker 引擎管理多版本数据库的开发环境配置过程。文章解决了 VPN 环境下的网络超时问题,通过指定公共 DNS 和配置 DaoCloud 镜像加速器实现了镜像拉取。作者演示了部署 MySQL 5.7、MySQL 8.0 与 Redis 7.2 容器的完整步骤,包括编写 Docker Compose 文件及处理 8.0 连接兼容性。最终实现了容器间的网络互通与数据持久化,为项目提供稳定且版本隔离的数据库支持。

配置开发环境:使用 Docker 管理多版本 MySQL 与 Redis最先出现在永夜

]]>
解决 WordPress + Polylang 批量处理标签时遇到的 Redis OOM 错误 https://www.shuijingwanwq.com/2026/05/24/13504/ Sun, 24 May 2026 12:09:01 +0000 https://www.shuijingwanwq.com/?p=13504 本文记录了在 WordPress 网站使用 Polylang 插件批量处理标签时,因 W3 Total Cache 的 Redis 对象缓存引发 OOM 错误的解决过程。通过排查发现 Redis 最大内存限制过小且淘汰策略配置不当,导致写入被拒绝。解决方案是通过修改配置文件将最大内存上限提升至 1GB,并将淘汰策略调整为 allkeys-lru,最终使批量脚本顺利完成,验证了调整内存参数和淘汰策略的有效性。

解决 WordPress + Polylang 批量处理标签时遇到的 Redis OOM 错误最先出现在永夜

]]>
WSL-Ubuntu 下 Docker 搭建 Hyperf:从启动失败到最佳开发结构 https://www.shuijingwanwq.com/2026/04/08/9440/ Wed, 08 Apr 2026 08:41:34 +0000 https://www.shuijingwanwq.com/?p=9440 本文记录了在 WSL-Ubuntu 环境下使用 Docker 搭建 Hyperf 框架时解决 Redis 连接失败问题的过程。文章排查了连接拒绝的原因,确立了基于 WSL 的最佳开发架构,通过创建 Docker 公共网络实现了 Redis、MySQL 容器与 Hyperf 项目的互通。最终通过修改 .env 配置文件,成功启动服务并实现了通过 localhost 访问。

WSL-Ubuntu 下 Docker 搭建 Hyperf:从启动失败到最佳开发结构最先出现在永夜

]]>
Windows 10 下 Redis 的安装(基于 WSL2 安装) https://www.shuijingwanwq.com/2024/08/06/8753/ Tue, 06 Aug 2024 01:47:31 +0000 https://www.shuijingwanwq.com/?p=8753 Redis官方未提供Windows原生安装包,尝试安装Memurai因路径问题未果后转用WSL2方案。在Ubuntu环境中从官方APT存储库安装Redis,修改配置文件绑定地址为0.0.0.0,并设置身份验证密码。通过查询WSL的IP地址,最终成功在Windows主机上连接至WSL2中运行的Redis服务。

Windows 10 下 Redis 的安装(基于 WSL2 安装)最先出现在永夜

]]>
Laravel 9 中的 Redis 门面 hset 不允许传递多个字段/值 https://www.shuijingwanwq.com/2024/04/28/8563/ Sun, 28 Apr 2024 02:06:15 +0000 https://www.shuijingwanwq.com/?p=8563 在 Laravel 9 中使用 Redis 门面的 hset 方法尝试传递多个字段和值时,系统报错提示参数数量错误。尽管 Redis 4.0 起已支持 HSET 一次设置多个键值对并废弃了 HMSET,但该环境下暂不支持多参数传递。最终解决方案是保持使用 HSET 命令,改为每次仅传递一个字段值并通过多次执行来实现,修复后运行正常且数据结构符合预期。

Laravel 9 中的 Redis 门面 hset 不允许传递多个字段/值最先出现在永夜

]]>
在 Laravel 9 中,在执行 Redis::set($this->rules_update_key, Carbon::now()); 时,使用 PHPRedis 扩展 与 predis/predis 包的差异 https://www.shuijingwanwq.com/2024/03/05/8455/ Tue, 05 Mar 2024 01:29:33 +0000 https://www.shuijingwanwq.com/?p=8455 本文记录了在 Laravel 9 中执行 Redis::set 写入 Carbon 对象时遇到的数据类型差异问题,对比了生产环境写入 Object 与测试环境写入日期时间字符串的不同表现。通过对比 .env 文件发现,差异根源在于客户端配置的不同,详细分析了 PHPRedis 扩展与 predis/predis 包在处理该操作时的具体区别,最终根据配置差异确定了问题成因。

在 Laravel 9 中,在执行 Redis::set($this->rules_update_key, Carbon::now()); 时,使用 PHPRedis 扩展 与 predis/predis 包的差异最先出现在永夜

]]>
在 Windows 10 上使用 Ubuntu 执行 .sh 或 Shell 脚本文件 https://www.shuijingwanwq.com/2022/12/21/7289/ Wed, 21 Dec 2022 01:55:42 +0000 https://www.shuijingwanwq.com/?p=7289 本文记录在 Windows 10 上利用 Ubuntu 执行 .sh 脚本文件的排查过程。作者通过 Windows Terminal 进入 Ubuntu 系统,访问 /mnt/c 挂载的 C 盘目录并运行脚本,过程中遇到 PHP Redis 扩展缺失及连接拒绝等报错。经排查环境并安装扩展后证实,脚本执行依赖的环境需在 Ubuntu 中完整配置,且连接的是系统内的 Redis 而非 Windows 中的服务。

在 Windows 10 上使用 Ubuntu 执行 .sh 或 Shell 脚本文件最先出现在永夜

]]>