没有不值得去解决的问题,也没有不值得去学习的技术!

标签: Redis

  • 本文记录了 WordPress 英文站日历链接被错误拼接为双重 URL 的完整排查过程。问题最初源于旧版 WPCode 代码仍按 `/en/` 目录模式处理链接,在英文站迁移到 `en.shuijingwanwq.com` 后,将完整子域名 URL 再次拼接到旧地址后方。代码升级为兼容 Polylang 多域名模式的版本后,英文 Host 仍因 W3 Total Cache Object Cache 中的旧状态继续执行旧代码。最终通过按 `en.shuijingwanwq.com` Host 加载 WordPress 并调用 W3TC 对象缓存清理接口,使新版代码立即生效,日历链接恢复正常,并将清理流程整理为可重复使用的服务器脚本。

  • 本文记录了一次 WordPress 英文文章页面横向滚动条的完整排查过程。在 Polylang 多域名、Twenty Twenty-Five 区块主题、W3 Total Cache Page Cache 与 W3TC Object Cache(Redis 后端)的组合下,页头搜索框的 `min-width: 250px` 导致英文语言切换器被挤出父级 Flex 容器。将其修改为 `min-width: 0` 后,英文页面却仍然输出旧 CSS。进一步对比 Cloudflare、源站响应、数据库原始内容与 `get_post()` 返回值后确认:数据库中的 `wp_global_styles` 已经更新,但 W3TC Object Cache 仍在返回旧的文章对象。最终通过 `clean_post_cache()` 精确清理对应对象缓存后,新 CSS 正常生效,横向滚动条消失。本文同时结合此前 Polylang 英文子域名迁移经历,总结了 W3TC Page Cache 多域名识别、旧 Polylang option 和旧全局样式对象缓存等问题的排查思路。

  • 发现电鸭社区简历技能标签在添加后无法修改或删除,发布反馈后,管理员于次日回复已上线删除功能。经测试确认可以正常移除旧标签并更新技能。作者通过此次经历体会到,积极记录产品反馈与解决过程有助于内容积累,并可能为他人提供参考价值。

  • 面对 WordPress 后台站点健康提示的页面缓存缺失与响应时间缓慢问题,文章记录了通过安装并配置 W3 Total Cache 插件来优化的全过程。经测试,最终选择磁盘增强模式作为页面缓存引擎,并结合 Redis 处理数据库与对象缓存,同时启用了图片延迟加载。配置完成后,验证了浏览量统计与评论功能的兼容性,成功消除了关键问题警告,显著降低了服务器响应时间。

  • 本文记录了在 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,最终使批量脚本顺利完成,验证了调整内存参数和淘汰策略的有效性。

  • Redis官方未提供Windows原生安装包,尝试安装Memurai因路径问题未果后转用WSL2方案。在Ubuntu环境中从官方APT存储库安装Redis,修改配置文件绑定地址为0.0.0.0,并设置身份验证密码。通过查询WSL的IP地址,最终成功在Windows主机上连接至WSL2中运行的Redis服务。

  • 本文分析了主题编辑器页面保存后与实际页面不一致的问题,指出快速编辑时,后端保存接口从 Redis 读取数据的时机早于暂存接口写入数据的时机,导致数据未同步。最初尝试后端计数等待方案,但因存在数据丢失风险,最终参考 Shopify 实现,改为基于 hashValue 的比对机制。该方案在暂存和保存时分别计算与比对哈希值,仅在一致或用户确认忽略冲突时执行保存,从而有效解决了并发请求下的数据一致性问题。

  • 本文记录了 Laravel 6 生产环境使用 Redis 驱动时缓存无故失效的排查过程。在排除了配置冲突、运维脚本清理及自动过期等问题后,发现原有代码中单个标签下 key 数量累积过多。经调整将多个标签改为仅使用 1 个标签后,该标签下的 key 数量保持在 20 个左右,缓存随即恢复正常且未再丢失,最终结论是在使用 Cache::tags 时,建议仅设置 1 个标签并控制单个标签下的 key 数量不要过多。

👨‍💻 个人品牌

王世强|技术实践者 · 独立博客作者

15+ 年 Web 与系统实践经验,持续关注网站基础设施、系统优化、AI 工具与自动化。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

长期建设个人项目,也欢迎合适的技术交流、咨询与合作。

👉 关于我

.env (14) add (16) AI 翻译 (31) Array (19) A Tour of Go (72) CDN 缓存 (13) CentOS (23) ChatGPT (20) ChatGPT Plus (15) chrome (19) Cloudflare (36) Codex (22) composer (42) composer.json (22) composer update (14) console (16) Container (25) curl (16) delete (31) Docker (32) Dockerfile (15) EdgeOne (34) environment variable (19) error (24) file (15) filter (20) Git (27) GitHub (23) Gitlab (15) GLM-5.2 (27) Go (64) go-tour-i18n (14) Google AdSense (30) Go 语言 (24) Go语言 (13) GraphQL (24) GraphQL API (14) Gutenberg (35) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (22) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (19) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (58) postman (18) Query (17) queue (16) Rancher (24) Redis (51) RESTful (27) RESTful API (23) Shopify (19) SlyTranslate (21) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) W3 Total Cache (39) Windows 10 (46) WireGuard (28) WordPress (134) WordPress 多语言 (13) WPCode (23) Wstunnel (15) Yii (40) Yii 2 (70) Yii 2.0 (51) ZgoCloud (13) 多语言 (13) 多语言网站 (13) 多语言翻译 (37) 开源项目 (13) 技术博客 (15) 故障排查 (15) 数据库迁移 (16) 浏览器 (14) 阿里云 (20)

2026 年 9 月
 123456
78910111213
14151617181920
21222324252627
282930