Typecho 开启 Redis 对象缓存怎么配置?数据库查询加速步骤是什么?

文章导读
Typecho 开启 Redis 对象缓存主要通过安装 TpCache 插件配合 Redis 服务实现,适用于 Linux 服务器环境。配置核心在于确保 PHP 具备 redis 扩展,并在插件后台选择 Redis 驱动,需注意避免缓存登录用户状态导致评论功能异常。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

Typecho 开启 Redis 对象缓存主要通过安装 TpCache 插件配合 Redis 服务实现,适用于 Linux 服务器环境。配置核心在于确保 PHP 具备 redis 扩展,并在插件后台选择 Redis 驱动,需注意避免缓存登录用户状态导致评论功能异常。

先说结论:该方案适合高并发读取场景,能显著降低数据库 IO 压力,但需排除动态用户页面。

  • 适合:访问量激增、数据库负载高、静态内容为主的博客
  • 先准备:服务器安装 Redis 服务、PHP 安装 redis 扩展、下载 TpCache 插件
  • 验收:插件状态显示启用、Redis 监控看到键值写入、页面加载时间缩短

命令速用版

宝塔面板用户可直接在软件商店操作,手动部署参考以下路径和命令。

安装 Redis 服务:

宝塔面板:软件商店 - 搜索 Redis - 安装

命令行:wget http://download.redis.io/releases/redis-5.0.5.tar.gz && tar xzf redis-5.0.5.tar.gz && cd redis-5.0.5 && make

安装 PHP 扩展:

宝塔面板:软件商店 - PHP 管理 - 安装扩展 - 搜索 redis - 安装

命令行:pecl install redis

Typecho 开启 Redis 对象缓存怎么配置?数据库查询加速步骤是什么?

插件部署路径:

将插件文件夹重命名为 TpCache 后上传至 usr/plugins/ 目录。

为什么会这样

Redis 缓存通过内存存储热点数据,避免每次请求都查询磁盘数据库。Typecho 默认每次访问都调用 MySQL 查询文章和设置,开启对象缓存后,TpCache 插件会将生成的页面或查询结果存入 Redis 内存,后续请求直接读取内存数据。公开测试数据显示,开启缓存后 TTFB 可能从 215ms 降至 70ms 左右,但具体效果取决于服务器配置和内容更新频率。

分步处理

第一步:确认 Redis 服务运行

登录服务器后台,确认 Redis 进程存在且端口默认 6379 未被防火墙拦截。宝塔用户可在安全页面确认未放行 Redis 端口,仅允许本地 127.0.0.1 访问。

第二步:验证 PHP 扩展

创建 info.php 文件写入 <?php phpinfo(); ?>,访问后搜索 redis,确认 Extension 状态为 enabled。若未显示,需在 PHP 设置中重载配置。

第三步:配置 TpCache 插件

Typecho 开启 Redis 对象缓存怎么配置?数据库查询加速步骤是什么?

登录 Typecho 后台,进入控制台 - 插件,启用 TpCache。点击设置,缓存驱动选择 Redis,主机地址填 127.0.0.1,端口填 6379。若使用阿里云等远程 Redis 需修改插件代码支持密码验证。

第四步:设置缓存策略

建议开启“对已登录用户失效”,避免缓存用户特定信息。需要缓存的页面全选除 Feed 外的选项,缓存过期时间可设为 86400 秒。

怎么验证是否生效

查看插件后台状态是否显示连接成功,访问博客前台后使用 Redis 命令行工具输入 monitor 观察是否有 SET/GET 请求产生。对比开启前后的页面加载时间,若使用 Apache Benchmark 测试,可观察 Requests per second 指标变化,公开资料中有测试显示开启前约为 4.31 req/sec,开启后会有提升,但请以实际环境为准。

常见坑

评论功能异常:Redis 可能缓存评论者信息或未登录状态,导致评论提交失败或显示错误。建议遇到报错先关闭插件,清除缓存后重新开启。

登录信息被缓存:若未设置对登录用户失效,可能导致不同用户看到相同的登录状态。务必在插件设置中勾选相关排除选项。

远程 Redis 密码:默认插件不支持密码访问,若使用云服务需修改 typecho_redis.class.php 文件添加 auth 验证代码。

插件升级冲突:升级插件前请先禁用,直接覆盖文件可能导致配置丢失或缓存错乱。

Typecho 开启 Redis 对象缓存怎么配置?数据库查询加速步骤是什么?

常见问题

Windows 服务器能使用 Redis 缓存吗?

不建议使用,Redis 官方主要支持 Linux 系统,Windows 下可考虑其他缓存软件。

如何清除已生成的 Redis 缓存?

可在 Typecho 后台插件设置页面点击“清除所有数据”,或使用 Redis 管理工具手动删除键值。

缓存导致页面内容不更新怎么办?

检查缓存过期时间设置,或在后台更新文章时手动触发缓存清除,部分插件支持更新文章自动清理。

参考来源

Typecho 开启 Redis 缓存:高并发下的服务器保命与秒开优化指南(2026 年 06 月)

Typecho 安装 Redis 加速内容(何叶,2021 年 8 月 24 日)

为你的 Typecho 加上 Redis 缓存,加速访问(2020 年 7 月 27 日)

阿里云 Redis 加速 Typecho 博客访问(2017 年 6 月 26 日)

TpCache 魔改版,一个缓存插件 - 星泽 V 社(2022 年 5 月 11 日)