赞片CMSRedis
学完这篇,你能在自己的服务器上给赞片CMS接上 Redis 缓存,让首页和列表页打开速度明显变快。
赞片CMS(ZanPian CMS)是一套用 PHP 写的影视站点程序,默认走文件缓存和 MySQL 查询。访问量一上来,首页、分类页、搜索页会反复查同一批数据,CPU 和数据库压力都堆在这。Redis 是内存键值数据库,把这批热点数据放进内存,命中后不再走 MySQL,是这套程序最省事的提速手段。
第一步:确认环境和版本,装好 Redis 服务
这一步的目标是让服务器上跑起一个可用的 Redis,并拿到 PHP 的 Redis 扩展,做完后能用 redis-cli ping 得到 PONG。
先看环境。赞片CMS 主流版本跑在 PHP 7.0–7.4 上,建议 PHP 7.4;Redis 用 5.0 或 6.2 都稳。CentOS 7 用 yum 装:
yum install -y redis
systemctl start redis
systemctl enable redis
redis-cli ping
Ubuntu/Debian 用:
apt install -y redis-server php7.4-redis
systemctl restart redis-server php7.4-fpm
php7.4-redis 就是 PHP 的 phpredis 扩展,赞片CMS 的 Redis 驱动依赖它,不装扩展只装服务是连不上的。
注意:装完扩展必须重启 PHP-FPM,只重启 Nginx 不生效。用
php -m | grep redis确认扩展已加载。
第二步:在赞片CMS后台打开 Redis 开关
这一步是把程序自带的缓存驱动切成 Redis,做完后后台会显示连接状态。
登录赞片CMS后台,依次进入「系统」→「性能优化」(部分版本写作「系统设置」→「缓存设置」)。在缓存驱动下拉框里选 Redis,然后填三项:
- 主机地址:
127.0.0.1 - 端口:
6379 - 密码:没设密码就留空;设过就填
requirepass那一行的值
填完点「保存」,再点旁边的「测试连接」。返回「连接成功」说明通了。如果报错,先回第一步检查扩展。
第三步:清一次旧缓存并验证效果
这一步是让新驱动真正接管,做完后页面数据会走内存。
保存设置后,点同页面的「清除缓存」按钮,或在后台「系统」→「更新缓存」点一次。不清的话,旧的文�件缓存还在,你会以为没生效。
验证方法有三种,任选:
- 浏览器开首页,按 F12 看 Network,第二次刷新的
Time应明显下降; - 服务器执行
redis-cli info stats | grep keyspace_hits,多刷几次页面,命中数会往上涨; - 执行
redis-cli keys '*',能看到带赞片前缀的键,说明数据写进去了。
注意:如果用的是宝塔面板,先在「软件商店」装 Redis,再在「PHP 7.4」→「安装扩展」里装 redis 扩展,最后才去赞片后台开开关。顺序反了会一直报连接失败。
第四步:按需调整,别把内存吃满
这一步是防止 Redis 把服务器内存占光导致被系统杀掉。
编辑 /etc/redis.conf,把 maxmemory 设成一个上限,比如 256MB:maxmemory 256mb,并设置淘汰策略 maxmemory-policy allkeys-lru。改完 systemctl restart redis。
影视站的数据键数量大但单个不大,256MB 通常够用。服务器内存小于 2G 的,先设 128MB 试跑。
注意:
maxmemory-policy不要设成noeviction,内存满了会直接写失败,前端表现为页面报错。
小结
- 赞片CMS 提速的关键是 phpredis 扩展 + 后台缓存驱动切 Redis,两者缺一不可;
- 装完扩展必须重启 PHP-FPM;
- 改完设置要清一次旧缓存,否则看不到效果;
- 宝塔环境下顺序是:装 Redis 服务 → 装 PHP redis 扩展 → 后台开开关;
- 记得设
maxmemory和allkeys-lru,别让 Redis 吃光内存。
原文链接:https://www.gj0.com/thread-704.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。