赞片CMSMemcache插件

juming
juming 正式会员超兽战士
发布于 2026-10-07 18:23 ·1 浏览 ·0 回复

照着做完,你就能给赞片CMS装上 Memcache 缓存插件,让首页、列表页和播放页的数据库查询次数明显下降、打开速度变快。

第一步:确认赞片CMS版本和 PHP 环境

这一步要搞清你的站是什么版本,因为插件包不通用。登录后台,左下角或「系统」→「系统信息」里能看到版本号(常见 v6、v7)。然后 SSH 执行:

php -v
php -m | grep -i memcache

第一条看 PHP 版本,赞片CMS v6/v7 建议跑在 PHP 7.0–7.4;第二条如果什么都没输出,说明 PHP 的 memcache 扩展还没装,先记住这个结论,第三步要用。

第二步:安装并启动 Memcached 服务端

这一步是在服务器上跑起缓存服务,默认监听 127.0.0.1:11211。

CentOS / 宝塔环境:

yum install -y memcached
systemctl start memcached
systemctl enable memcached

Ubuntu / Debian:

apt-get install -y memcached
systemctl restart memcached

验证服务是否活着:

echo stats | nc 127.0.0.1 11211

能刷出一堆 STAT 开头的行就算成功。默认内存是 64MB,站点数据大可以改 /etc/sysconfig/memcached 里的 -m 512 再重启。

注意:11211 端口不要对整个公网开放。如果 PHP 和 Memcached 不在同一台机器,在安全组里只放行内网 IP 段,否则等于给别人开了个可读写的缓存库。

第三步:装 PHP 的 memcache 扩展

这一步让 PHP 能连上 Memcached。赞片CMS的 Memcache 插件一般用的是 memcache 扩展(注意不是 memcached 扩展,两者名字差一个 d,函数完全不同,装错了插件会报 Class 'Memcache' not found)。

宝塔面板用户最省事:软件商店 → 已安装 → 点 PHP-7.4 那一行的「设置」→ 上方切到「安装扩展」→ 找到 memcache → 点「安装」,等进度条走完,PHP 会自动重载。

命令行用户:

pecl install memcache

装完在 php.ini 末尾加一行 extension=memcache.so,然后 systemctl restart php-fpm。再执行一次 php -m | grep -i memcache,这次应该能看到 memcache 这个词。

第四步:上传插件文件

这一步把插件代码放到网站目录。从赞片官网的插件下载区拿到 Memcache 插件包(一般是 zip,名字里带 memcache),解压后里面通常是一个 addons 目录。用 FTP 或宝塔文件管理器,把里面的内容上传到网站根目录(和 index.php、admin.php 同级),最终形成 网站根目录/addons/memcache/ 这样的结构。

注意:上传时用二进制模式,别用记事本另存;上传完把 addons 目录属主改成 www(宝塔里点「权限」→ 所有者设为 www:www),权限 755,否则后台可能检测不到插件。

第五步:在后台安装并启用

这一步让插件真正挂上。登录后台,地址一般是 你的域名/admin.php,左侧菜单进「系统」→「插件管理」(v7 有的版本在「扩展」→「插件中心」),列表里会出现「Memcache 缓存」这一项,点右侧「安装」,装完再点「启用」。

第六步:填写缓存参数

启用后点「配置」,常见几项这样填:

  • 服务器地址:127.0.0.1
  • 端口:11211
  • 缓存前缀:zp_(多站点一定要各自不同,比如 zp_a_、zp_b_)
  • 默认过期时间:3600 秒
  • 缓存范围:首页、分类列表页、播放页勾上;会员中心和后台建议不勾,避免登录状态被缓存串号

保存后回后台「系统」→「缓存管理」,点一次「清除缓存」。

第七步:验证生效

刷新首页,然后执行:

echo stats | nc 127.0.0.1 11211

重点看 curr_items(当前缓存条数)和 get_hits(命中次数),刷新几次页面后这两个数在涨,就说明缓存真的在跑。也可以在后台打开调试模式,看页面底部的 SQL 查询次数是否从几十次降到个位数。

注意:以后改了模板、改了影片数据觉得页面没变,先清缓存再排查,别以为是程序坏了。多站点共用一台 Memcached 时,前缀重复会导致 A 站显示 B 站数据,这个坑很常见。

小结

  • 三步环境缺一不可:Memcached 服务端 + PHP 的 memcache 扩展 + 插件文件。
  • 别把 memcache 和 memcached 扩展搞混,插件大多要前者。
  • 11211 端口不对公网开放,只给内网或本机。
  • 多站点必须用不同的缓存前缀,否则数据互相覆盖。
  • 上线后别关掉监控习惯:定期看 get_hits,命中率长期偏低说明过期时间或缓存范围设得不合理。
版权声明:本文来自 GJ站长论坛《赞片CMSMemcache插件》
原文链接:https://www.gj0.com/thread-468.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~