赞片CMSRedis插件

chinaz
chinaz 初级会员超兽战士
发布于 2026-10-08 03:26 ·1 浏览 ·0 回复

照着做完,你能给赞片CMS装上 Redis 缓存插件,把首页、列表页、详情页从「每次访问都查数据库」变成「直接读内存」,同时把播放量和点击数改成 Redis 计数,数据库压力明显下降。

第一步:确认环境够用

这一步要做的,是先看你的服务器能不能跑这个插件,不满足就别往下折腾了。SSH 登录服务器,依次执行:

php -v
redis-server -v
php -m | grep redis

要求:PHP 7.4 或 8.0/8.1(赞片CMS 5.x 起不要用 PHP 7.2 以下),Redis 5.0 以上。第三条命令如果没有任何输出,说明 php-redis 扩展没装,后面第三步要补上。

注意:宝塔面板用户请切到「软件商店」确认 PHP 版本和 Redis 版本是同一套环境,很多人装了 Redis 但 PHP 用的是另一个版本的扩展,插件会一直报「连接失败」。

第二步:启动 Redis 并设置密码

这一步要拿到一个能连的 Redis 地址和密码。宝塔面板:软件商店 → 已安装 → Redis → 设置 → 性能配置,把 maxmemory 设为 256MB 或 512MB,maxmemory-policy 选 allkeys-lru(内存满了自动淘汰旧缓存,不会写满宕机)。

命令行安装的话:

systemctl enable redis
systemctl start redis
redis-cli
> config set requirepass 你的密码
> auth 你的密码

改完记得在 /etc/redis.conf 里把 requirepass 你的密码 也写进去,否则重启后密码丢失。

第三步:安装 php-redis 扩展

宝塔:软件商店 → 已安装 → 对应的 PHP 版本 → 设置 → 安装扩展 → 找到 redis → 点「安装」。装完执行 php -m | grep redis,输出 redis 才算成功。

注意:装完扩展必须重启 PHP-FPM(宝塔是「服务」→「重启」),只 reload Nginx 没用。

第四步:上传并安装插件

登录赞片CMS后台(一般是 /admin.php),左侧菜单找到「应用」→「插件管理」→ 顶部「安装插件」标签页,把 Redis 插件压缩包上传,或者直接把插件目录 zanpian_redis 上传到网站根目录的 /application/plugin/ 下,回到后台刷新,插件列表里就会出现「Redis缓存」条目,点右侧「安装」。

安装过程会往数据库插两张表:zanpian_plugin_redis_config(配置)和 zanpian_plugin_redis_log(命中日志),不用手动建。

第五步:填连接参数

插件安装完点「设置」,进入配置页,填写四项:

  • 主机地址:127.0.0.1(Redis 和网站在同一台机器时)
  • 端口:6379
  • 密码:第二步设的密码,没设就留空
  • 数据库序号:0(和别的程序共用 Redis 时改成 1、2 避免键名冲突)

填完点「测试连接」,页面提示 PONG 或「连接成功」才算通。

注意:配置页还有一项「键名前缀」,默认是 zp_。如果你服务器上跑着两套赞片CMS,务必把其中一套改成别的(比如 zp2_),否则两站缓存互相覆盖,会出现 A 站显示 B 站内容。

第六步:打开缓存开关并设过期时间

同一页面下方是缓存规则区,勾选:

  • 首页缓存:开启,过期时间 600 秒
  • 列表页缓存:开启,过期时间 900 秒
  • 详情页缓存:开启,过期时间 1800 秒
  • 播放量/点击数走 Redis 计数:开启,每 60 秒回写一次数据库

「排除规则」框里填不想缓存的栏目 ID 或 URL 关键词(比如会员中心、搜索页),用英文逗号隔开。搜索页一定要排除,否则搜索结果会串。

保存后点「清空全部缓存」,让新规则立即生效。

第七步:验证是不是真的生效

在服务器上执行:

redis-cli -a 你的密码
> keys zp_*
> info stats

看到一堆 zp_home_、zp_list_ 开头的键,说明缓存写进去了。再打开网站首页刷新两次,第二次看页面底部(或 HTML 注释里)是否出现 Cache: Redis 字样。

对比一下效果:info stats 里的 keyspace_hits 除以 keyspace_hits + keyspace_misses,就是命中率,稳定在 90% 以上算正常。

注意:如果你的站点有会员登录、购物车这类个性化内容,别整个页面缓存,改成只缓存「数据查询层」,插件设置里选「缓存模式:数据缓存」而不是「页面缓存」。

第八步:以后台改内容后缓存不更新的处理

赞片CMS 发布、修改、删除视频时,插件会自动清掉相关键。如果发现改了内容前台还是旧的,进后台「插件管理」→「Redis缓存」→ 点「清空全部缓存」。要自动化的话,可以在服务器的 crontab 里加一条:

0 4 * * * redis-cli -a 你的密码 FLUSHDB

每天凌晨 4 点全清一次,配合前面的过期时间,基本不会出现脏数据。

小结

  1. 环境三件套:PHP 7.4+、Redis 5.0+、php-redis 扩展,缺一个都白搭。
  2. Redis 要设 maxmemory 和 allkeys-lru,防止内存写满后服务挂掉。
  3. 插件装完重点填好主机、端口、密码、数据库序号、键名前缀这五项。
  4. 首页 600 秒、列表页 900 秒、详情页 1800 秒是稳妥的起步值,别一上来就设 24 小时。
  5. 搜索页和会员页面必须排除缓存,多站点共用 Redis 必须改键名前缀。
  6. 用 keys zp_* 和 info stats 验证,命中率 90% 以上算合格。
版权声明:本文来自 GJ站长论坛《赞片CMSRedis插件》
原文链接:https://www.gj0.com/thread-716.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~