由于项目的需要,需要尽可能的将WordPress程序降低资源占用率,以及加快用户访问速度。根据文档我们可以采用Memcache或者Redis扩展来配合WordPress缓存插件一并使用(比如WP Super cache),因为我们发现在WordPress资源较多的情况下占用较多的是数据查询压力。而对于内存资源我们可以通过升级配置来解决问题。
在撰文之前蜗牛还单独研究过Memcache与Redis的区别,各有优势。但是对于中小型网站数据处理以及基于WordPress程序的配置,我还是先测试看看Memcache机制是否能起到效果,这里只要能比原始降低数据查询压力就可以,目的至少可以达到。
第一、准备工作
1、我们需要在当前服务器或者网站环境中支持Memcache扩展机制,这个蜗牛就不在这里分享方法。因为我们不同的WEB环境安装的方法是不同的,比如我们用LNMP或者OneInStack一键包的时候官方有文档,以及WDCP面板的时候也有对应的文档安装。
2、一般我们WP程序网站应该有安装类似WP Super cache缓存插件,当然还有同类的,我们只要自己喜欢就可以,这里我用的是这个。用和不用还是有区别的,建议使用,可以对静态文件起到缓存作用。
3、我们可以启动\”WordPress源代码中展示内存占用和加载时间\”,记录下载下面安装Object Cache对象存储之前和之后的数据对比。这里蜗牛在开启对象存储之前的查询数和内存占用等信息。
第二、安装Object Cache对象缓存插件
插件地址:https://wordpress.org/plugins/memcached/
1、将文档解压后,将object-cache.php文件丢到 wp-content 文件夹中,虽然是插件,但是不要放到插件文件夹里。
2、在wp-config.php文件中添加define(\’ENABLE_CACHE\’, true);启动对象缓存。
我们看到没有,查询数从原来66个降低到23个,但是内存占用是增加了一点的。毕竟Memcache是存储在内存中的缓存,资源占用会大一点点,但是数据查询压力是降低不少。
第三、配合WP Super cache启用对象缓存
1、启动Object Cache缓存
在WP Super cache高级设置里启动对象缓存。
2、查看是否生效
我们在内容里看到上图所示,就表示当前已经采用对象存储。
第四、WordPress开启对象缓存总结
1、从效果对比看,开启Object Cache对象缓存后是能起到降低查询数的效果,但是内存占用并不减少,毕竟他是在内存中缓存的。
2、如果重启服务器,则需要重新缓存数据,内存原来的缓存数据就会丢失(不用怕,不是网站程序丢失),这个也是Memcache固有的机制。
3、网上我们可以查询到各种WordPress启动Object Cache对象存储的方法,比如有直接丢下插件文件安装的,也有配合WP Super cache一并使用的,不过从蜗牛的测试后发现无论是单独使用还是配合使用,查询压力是降低,个人建议可以用WP Super cache采用默认的缓存机制,然后在单独启动Object Cache对象缓存降低查询,而不是全部采用对象缓存。