Discuz X3.5 原生支持 Redis 缓存,无需安装额外插件,只需在服务器安装 Redis 服务、确认 PHP 已启用 redis 扩展,并修改配置文件 config/config_global.php 即可。适用场景为希望减轻数据库压力、提升页面加载速度的 Discuz 论坛,风险边界在于密码配置不一致或扩展未启用会导致缓存失效甚至报错。
先说结论:Discuz X3.5 内置 Redis 接口,配置正确后可显著减轻数据库压力并提升访问速度。
- 适合 Discuz X3.5 原生环境,无需第三方插件。
- 先准备 Redis 服务端及 PHP redis 扩展环境。
- 验收通过后台内存优化状态及 redis-cli 连接测试。
命令速用版
若使用宝塔面板,可在软件商店一键安装 Redis 服务。配置文件修改位于网站根目录 config/config_global.php,关键配置项如下:
$_config['memory']['redis']['server'] = '127.0.0.1';
$_config['memory']['redis']['port'] = 6379;
$_config['memory']['redis']['requirepass'] = '你的 Redis 密码';
$_config['memory']['redis']['pconnect'] = 1;PHP 扩展检查命令:
php -m | grep redis为什么会这样
内存缓存读取速度远高于文件缓存和数据库查询。Discuz X3.5 内核已集成 Redis 接口,直接调用内存存储热点数据,减少磁盘 IO 和 SQL 查询。启用后系统会将会话、模板、数据调用等存入内存,避免每次请求都访问数据库或读取磁盘文件。
分步处理
第一步:安装 Redis 服务端
在宝塔面板软件商店搜索 Redis 并安装,安装完成后在设置中记录端口(默认 6379)和访问密码。若未设置密码,配置文件中 requirepass 留空,但生产环境建议设置密码。
第二步:确认 PHP 扩展
在宝塔面板对应 PHP 版本设置中,查看已安装扩展,确认 redis 扩展已启用。若未安装,需在扩展管理中安装 redis 扩展并重启 PHP 服务。
第三步:修改配置文件
通过 FTP 或文件管理器打开网站根目录 config/config_global.php 文件。找到内存配置区域,修改 redis 相关参数。确保 server 地址为 127.0.0.1 或实际 Redis 服务器 IP,port 为 6379,requirepass 与 Redis 服务设置的密码一致。
第四步:后台启用缓存
登录 Discuz 后台,进入“站长”→“性能优化”→“内存优化”。选择 Redis 作为缓存接口,保存设置。若之前使用文件缓存,建议清除旧缓存。
怎么验证是否生效
1. 命令行验证
在服务器终端执行 redis-cli -a 你的密码 ping,返回 PONG 表示服务正常。执行 redis-cli -a 你的密码 info keyspace 查看键空间信息,若有数据增长说明 Discuz 正在写入。
2. 后台状态检查
在 Discuz 后台“性能优化”页面,查看内存优化状态是否显示 Redis 已开启且配置正常。部分版本支持在后台直接测试连接。
3. 页面响应头检查
使用浏览器开发者工具查看页面响应头,部分配置下可观察到 X-Cache 相关标识,或通过页面加载时间对比判断。清理浏览器缓存后多次刷新,观察服务器资源占用是否降低。
常见坑
1. 密码不一致
Redis 服务端设置的密码与 config_global.php 中 requirepass 不一致会导致连接失败,缓存不生效。需确保两处密码完全相同,包括特殊字符。
2. PHP 扩展缺失
仅安装 Redis 服务而未在 PHP 中启用 redis 扩展,程序无法调用 Redis 接口。需在 PHP 设置中确认扩展已加载。
3. 配置文件语法错误
修改 config_global.php 时若遗漏分号或引号不闭合,会导致网站报错 500。修改前建议备份原文件,修改后检查 PHP 语法。
常见问题
Discuz X3.5 配 Redis 需要安装插件吗?
不需要,Discuz X3.5 原生支持 Redis,只需修改配置文件和开启后台设置即可。
配置文件 config_global.php 在哪里?
位于 Discuz 网站根目录的 config 文件夹下,完整路径为 config/config_global.php。
Redis 端口不是 6379 怎么办?
在 config_global.php 中修改$_config['memory']['redis']['port'] 为实际端口,并确保服务器防火墙放行该端口。
参考来源
- 宝塔面板网站怎样配置 Redis 缓存减轻数据库压力_安装 Redis 服务端并在 CMS 中启用对应插件
- Discuz 页面速度怎么提升?加载慢如何解决?
- discuz 性能优化 10 个小技巧_discuz 优化-CSDN 博客
- Discuz 提速优化技巧_discuz 内存优化-CSDN 博客