WordPress开启Memcached扩展和Object Cache降低数据查询压力

由于项目的需要,需要尽可能的将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对象缓存降低查询,而不是全部采用对象缓存。

本文出处:老蒋部落 » WordPress开启Memcached扩展和Object Cache降低数据查询压力 | 欢迎分享( 公众号:QQ69377078 )