Memcached+Memcache(wordpress安装memcached)

Memcached+Memcache(wordpress安装memcached)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-09-23 11:55:21
文章简介

wordpess安装好之后如果不做缓存设置,那访问速度大家懂的,很缓慢,你随便一个F5一直按住多刷新几下,就直接变成cc攻击的效果,站点不能访问,擦啊,真是醉了!但是W

2025阿里云双十一服务器活动

wordpess安装好之后如果不做缓存设置,那访问速度大家懂的,很缓慢,你随便一个F5一直按住多刷新几下,就直接变成cc攻击的效果,站点不能访问,擦啊,真是醉了!但是WordPress好处多多,喜欢的人很是喜欢。不过大家也可以用别的blog系统,比如说zblogemblog这两种国人自己开发的blog速度那叫一个快。

好了下面说说内存缓存memcached可以突破MySQL性能瓶颈,加速博客的访问这个问题。

安装Memcached拓展

Memcached是php的一个拓展,类似的拓展还有Memcache。少了一个d的是旧版,多了一个d是新版。新版有更好的性能,推荐安装。

简单来说:

memcache是pecl扩展库版本,原生支持php,出现更早,是老前辈;

memcached是libmemcached版本,出现较后,是新一代,因此也更加完善,推荐使用。

Ps:如果想更深入了解,可以搜索下memcachevsmemcached

  • 我使用的是lnmp一键安装包,这里面就附带了上述两个拓展的源码。进入lnmp解压后的目录,执行下面的语句!
  • https://www.daniao.org/addons.sh?install?memcached
  • +———————————————————————–+
  • |Addons?script?for?LNMP?V1.3,?Written?by?Licess?|
  • +———————————————————————–+
  • |A?tool?to?Install?cache,optimizer,accelerator…addons?for?LNMP|
  • +———————————————————————–+
  • |For?more?information?please?visit?http://www.lnmp.org|
  • +———————————————————————–+
  • Which?memcached?php?extension?do?you?choose:
  • Install?php–memcache,(Discuz?x)?please?enter:?1
  • Install?php–memcached,?please?enter:?2
  • Enter?1?or?2?(Default?1):
  • 这里选择2即可,安装时候的截图是这个样子的。

    选择1,和2,都可以。但是选择2上面说了Memcached是php的一个拓展,类似的拓展还有Memcache。少了一个d的是旧版,多了一个d是新版。新版有更好的性能,推荐安装。所以我们选择2,功能上强大点,我们这点流量,你选择1也差不多不大。不用太纠结。强迫症可以一定会选择2,我懂的。

    如果选择1到这下载WordPressMemcached插件

    解压后,将object-cache.php上传到wp-content目录(不是wp-content/plugins/),这样WordPress会自动检查在wp-content目录下是否有object-cache.php文件,如果有,直接调用它作为WordPress对象缓存机制。

    注意:如果你的服务器安装了多个WordPress,请确保每个WordPress站点使用了不同的数据库前缀,如果前缀一样,比如都是wp_,就很可能造成冲突,因为每个网站的数据都通过内存进行缓存,前缀一样就会打架啦!为你的WordPress站点开启了memcached缓存以后,就没必要安装DBCacheReloadedFix这类数据库缓存插件了。

    选择2的就可以安装wordpress-pecl-memcached-object-cache

    WordPress官网上的object-cache.php虽然也号称Memcached插件,然而它只支持Memcache,不支持新版的,所以不能使用。如果错误地将object-cache.php和Memcached混用的话,则会出现WordPress打不开,前台后台页面一片空白的现象。

    做完上述所有步骤,系统环境就已经支持memcached缓存了。下面分享如何应用到WordPress

    访问github项目页面下载插件包:

    https://github.com/tollmanz/wordpress-pecl-memcached-object-cache

    下载并解压得到的object-cache.php,上传到wp-content目录即可开启memcached缓存。

    值得说明的是,这里还有一个大坑等着你来踩:

    WordPress官网上的object-cache.php虽然也号称Memcached插件,然而它只支持Memcache,不支持新版的,所以不能使用。如果错误地将object-cache.php和Memcached混用的话,则会出现WordPress打不开,前台后台页面一片空白的现象。

    这也就是经常有站长反馈WordPress启用memcached功能后,页面空白的错误原因了。不巧,可爱变在测试的时候也踩坑了,所以特别提出来,希望大家了解错误的原因,避免掉!

    2、安装batcache插件

    batcache可以将整个页面缓存到内存中,下次直接从内存中取出html,完全不需要计算,所以速度非常快。下载解压后其实只有advanced-cache.php是有用的,而batcache.php是一个提供情况缓存的GUI入口,并无大用。

    直接在WordPress后台搜索安装?batcache,也可以从官方下载插件包:

    https://wordpress.org/plugins/batcache/

    然后解压得到?advanced-cache.php上传到wp-content即可。

    其中advanced-cache.php有一些自定义的选项可供配置:我们打开源代码编辑调成成下面的模式。

    var$max_age=3600;//Expirebatcacheitemsagedthismanyseconds(zerotodisablebatcache)

    var$remote=0;//Zerodisablessendingbufferstoremotedatacenters(req/secisneversent)

    var$times=2;//Onlybatcacheapageafteritisaccessedthismanytimes…(twoormore)

    var$seconds=0;//…inthismanyseconds(zerotoignorethisandusebatcacheimmediately)

    Memcached+Memcache,wordpress安装memcached

    之后将advanced-cache.php上传到wp-content即可。

    要开启缓存的话,还需要编辑wp-config.php:

    define(‘WP_CACHE’,?true);

    当然,插件默认只会对游客缓存,显然也是怕影响到前台登录态。缓存和动态判断一直是矛与盾、鱼和熊掌,看个人抉择吧

    查看Memcached命中率

    有时候我们想看看Memcached的加速效果,这时候可以利用官网上的一个工具:http://pecl.php.net/get/memcache-3.0.8.tgz

    解压后提取memcache.php上传到服务器,访问后即可看到缓存效果:

    ssh下面用命令方式来查看Memcached缓存情况

    我们需要使用telnet命令查看,首先检测一下是否已安装telnet包

    如果安装了,会返回相关版本

    telnet-server-0.17-41.el5

    如果没有安装,运行下面的命令,注意在root下安装

    yuminstalltelnet-server

    特别说明:telnet服务要依靠xinetd服务启动,所以要先安装xinetd服务。所以我们要先安装xinetd,再安装telnet-server。

    telnet127.0.0.111211

    Escapecharacteris‘^]’.

    回车,就可以看到Memcached的缓存情况

    STATpid20439?——Memcached进程的ID

    STATuptime179982——进程运行时间

    STATtime1382361665——当前时间

    STATversion1.4.15——Memcached版本

    STATlibevent1.4.13-stable

    STATrusage_system40.576831

    STATconnection_structures23

    STATcmd_get2363348——总共获取数据的次数(等于get_hits+get_misses)

    STATcmd_set279971——总共设置数据的次数

    STATget_hits2286284——命中了多少次数据,也就是从Memcached缓存中成功获取数据的次数

    STATget_misses77064——没有命中的次数

    STATbytes_written4353057466

    STATlimit_maxbytes67108864——总的存储大小,默认为64M

    STATbytes4717345——当前所用存储大小

    以上数据的命中率:2286284/2363348=96.7%说明当前命中率是比较高的。

    如果你要清空现有数据,可以使用下面的命令:

    要退出telnet,输入组合键Ctrl+]出现

    直接使用kill进程ID即可,比如上面信息显示的进程ID为20439,那就使用kill20439

    2.重新启动Memcached,并且修改内存等参数,样例如下(修改最大内存为1024M,最大连接数为4000):

    memcached-d-m1024-uroot-l127.0.0.1-p11211-c4000-P/tmp/memcached.pid11211

    -l连接的IP地址,默认是本机

    -drestart重起memcached服务

    -dstop|shutdown关闭正在运行的memcached服务

    -dinstall安装memcached服务

    -duninstall卸载memcached服务

    -u以的身份运行(仅在以root运行的时候有效)

    -m最大内存使用,单位MB。默认64MB

    -M内存耗尽时返回错误,而不是删除项

    -c最大同时连接数,默认是1024

    -f块大小增长因子,默认是1.25

    -n最小分配空间,key+value+flags默认是48

    我目前也只是要用到memcache的动态缓存,所以对于batcache也只是初步了解状态,感兴趣的朋友可以自行搜索学习更多相关设置。

    标签:
    win11升级教程(升级win11设置安全启动)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!