使用Redis Object Cache加速WordPress

  • A+
摘要

先说明一下,对象缓存肯定是没有那种直接生成静态页面的缓存插件效果好的,尤其是对于一般的站点来说。所以如果不是刚需,最简单的办法就是给你的站点装上CometCache、WPSuperCache这样的插件,方便且暴力。

先说明一下,对象缓存肯定是没有那种直接生成静态页面的缓存插件效果好的,尤其是对于一般的站点来说。所以如果不是刚需,最简单的办法就是给你的站点装上CometCache、WPSuperCache这样的插件,方便且暴力。

那对象缓存适合哪些站点呢?很明显,对于那些经常需要动用数据库查询的站点来说,对象缓存就弥补了上面说的那些插件无法做的事情。举两个例子:

1、假设一个日IP大于2万的WordPress站点,虽然这个站的流量很高,但是站点本身不需要开放用户注册的功能,那么站长最好的加速方案就是用各种类似CometCache的插件生成静态页面。因为这类站点本身就不大需要动用数据库查询,所以自然也就不太需要Redis做对象缓存。

2、假设还是一个日IP大于2万的WordPress站点,但是这个站点必须要开放用户注册,并且用户注册的数量也相当之多,每天登录的用户也相当之多,那么这个时候一个生成静态页面的缓存插件可能就达不到理想的效果了。因为用户登录的这种行为,插件是无法静态化的,那么这种本身就需要经常动用数据库查询的操作,该如何提高效率呢?很明显这个时候就需要用到Redis的对象缓存了。说白了,对象缓存就是缓存那些经常需要在数据库中查询的数据,当这种数据再次需要查询的时候,就可以通过Redis直接从内存中读取,而不需要再到MySQL中反复查询。这样就达到了一个加速、优化的效果。

下面进入正题~

首先本文用到的LNMP环境是通过这篇文章搭建的:

CentOS7手动安装Nginx/MySQL/PHP/phpMyAdmin

理论上在多数LNMP/LAMP环境都是可行的,无非就是个别编译的参数可能要稍作修改,这个你们根据自己的环境适当调整吧。如果不想折腾还是以我上面发的这篇文章来安装LNMP环境。

首先我们来安装Redis。

安装一些依赖:

yum -y install gcc-c++ jemalloc wget

下载Redis源码:

cd /root  wget http://download.redis.io/releases/redis-4.0.8.tar.gz

解压:

tar xzf redis-4.0.8.tar.gz

进入到目录:

cd redis-4.0.8

编译:

make

注:如果这里用make无法编译成功,可以尝试用这个命令:

make MALLOC=libc

完成后如图所示:

使用Redis Object Cache加速WordPress

进入到src目录:

cd src

安装Redis:

make install

完成后如图所示:

使用Redis Object Cache加速WordPress

尝试启动:

redis-server

没错的话回显如下图的内容:

使用Redis Object Cache加速WordPress

回到上级目录编辑一下Redis的配置文件,让其支持在后台运行:

cd ..  vi redis.conf

将如图所示红框标注的地方改成yes:

使用Redis Object Cache加速WordPress

再次运行Redis,并且加载这个配置文件:

redis-server ./redis.conf

看到类似如下图的回显说明运行正常:

使用Redis Object Cache加速WordPress

至此Redis我们就安装并运行成功了。

接下来要安装PHPRedis扩展。

首先我们查找一下两个安装扩展必须的文件都在什么路径:

find / -name phpize  find / -name php-config

如果你是根据我的LNMP教程安装的环境,那么路径如下:

/usr/bin/phpize  /usr/bin/php-config

如图所示:

使用Redis Object Cache加速WordPress

如果你不是按照我的教程安装的LNMP则需要记住你自己的这两个文件路径。

现在下载phpredis扩展源码:

cd /root  wget https://github.com/phpredis/phpredis/archive/3.1.6.tar.gz

解压:

tar -xzvf 3.1.6.tar.gz

进入目录:

cd phpredis-3.1.6

执行命令:

/usr/bin/phpize

注:不是这个路径就换成你自己的路径。

回显如图说明正常:

使用Redis Object Cache加速WordPress

配置:

./configure --with-php-config=/usr/bin/php-config

注:-config=后面的路径不是这个的话,就改成你们自己的路径。

编译和安装:

make  make install

完成后如图所示:

使用Redis Object Cache加速WordPress

进入到php.d目录:

cd /etc/php.d/

新建一个redis.ini:

vi redis.ini

写入如下内容:

;Enable redis extension module    extension=redis.so

如图所示:

使用Redis Object Cache加速WordPress

最后重启PHP:

systemctl restart php-fpm

现在打开PHP探针看看扩展是否已经安装成功:

使用Redis Object Cache加速WordPress

在phpinfo内再次确定一下:

使用Redis Object Cache加速WordPress

现在登录WordPress的后台,搜索插件:Redis Object Cache并安装:

使用Redis Object Cache加速WordPress

启动插件:

使用Redis Object Cache加速WordPress

不出意外的话,插件就连接成功了:

使用Redis Object Cache加速WordPress

此时我们回到Xshell内查询一下Redis的数据库内是否保存了数据,以确保插件正常运行。

执行:

redis-cli

输入:

keys *

回显如图内容,说明有数据缓存进来:

使用Redis Object Cache加速WordPress

当站点的页面被多次访问后,我们再来查询一下数据,这次应该缓存的数据会比之前更多:

使用Redis Object Cache加速WordPress

至此,你的WordPress站点现在正享受Redis给你带来的高速缓存体验~

写在最后:

1、实测一般的小站点开启这个Redis缓存和不开没多大区别。。。页面加载速度并没有明显变快。扎心了。。。

2、一般的WordPress站点LALA个人觉得最好的优化办法就是PHP7+Opcache+CometCache缓存插件。以我的经验,用这个环境搭建的WordPress只要你的VPS性能本身不是特别渣,内存1G左右,然后站点本身不需要开放用户注册的,日IP跑5万左右都不是问题。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: