【原创】WordPress 使用 Redis 作缓存优化访问速度

概要

1、简介

由于 WordPress 的博客内容数据都是存放在 MySQL 数据库中的。所以,当用户访问博文内容时,就会从 MySQL 中查询出博文内容再返回到浏览器,再由浏览器渲染出样式整齐的博文内容给用户展示。

如果用户增多,那么这种方式对于后台的 MySQL 数据库的压力也会随之增加。而且用户越多,请求越多,效率就会越慢。

而一个网站对于用户的首先使用感受就是访问速度。因此,使用缓存来优化 WordPress 就尤为重要了。

要给 WordPress 设置缓存的方法有很多,比如使用 Memcached,Redis,FileCache 等等,但 Redis 缓存无疑是当前最常用也最好用的缓存方案。

本文介绍在 VPS 上使用 Redis 作为缓存数据库来对 WordPress 的博文内容进行缓存。

2、安装准备

  • 确保服务器上安装并运行了 Redis

3、相关环境

Docker 19.03.6
Redis Server 6.0.6
Wordpress 5.5.1
Redis Object Cache 2.0.15

正文

1、使用 Docker 安装并运行 Redis

关于使用 Docker 来运行 Redis 请参考我的另一篇分享【原创】Docker 运行 redis 单实例

2、安装 WordPress Redis Object Cache 插件

在 WordPress 后台,"插件" -> "安装插件" -> 右侧搜索框中输入 "Redis Object Cache" 搜索到的第一个插件就是需要安装的插件。

点击 "现在安装" 即可安装插件,安装完成后点击 "Activate" 激活该插件。

3、配置

在 WordPress 后台,"插件" -> "已安装的插件" 在右侧区域找到已安装好的且激活的 Redis Object Cache 插件 -> 点击 "Settings"

发现提示没安装 Drop-in

从 "插件" -> "已安装的插件" -> "强化扩展" -> 下方没有发现 object-cache.php 的插件。

根据 Redis Object Cache 官网上的一句话知道,有可能是我的服务器不支持文件系统的 API 导致不能自动复制文件。解决方法就是按照官网据说的手动把 /plugins/redis-cache/includes/object-cache.php 文件复制到 /wp-content 目录下。

$ cp ${WORDPRESS_HOME}/wp-content/plugins/redis-cache/includes/object-cache.php ${WORDPRESS_HOME}/wp-content/
you have to manually copy the object-cache.php file from the /plugins/redis-cache/includes/ directory to the /wp-content/ directory.

然后再刷新页面,可以看到如下所示的 object-cache.php 已经存在了。

在 WordPress 后台,"插件" -> "已安装的插件" -> 在右侧区域找到已安装好的且激活的插件 "Redis Object Cache"  -> 点击 "Settings",再次查看发现已经自动开启了!

注:如果你的 Redis 的连接信息不是 127.0.0.1:6379,你可以改 object-cache.php 中的 Redis 连接信息。

$ vi ${WORDPRESS_HOME}/wp-content/object-cache.php

如下所示:

...
 478     /**
 479      * Build the connection parameters from config constants.
 480      *
 481      * @return array
 482      */
 483     protected function build_parameters() {
 484         $parameters = [
 485             'scheme' => 'tcp',
 486             'host' => '127.0.0.1',
 487             'port' => 6379,
 488             'database' => 0,
 489             'timeout' => 1,
 490             'read_timeout' => 1,
 491             'retry_interval' => null,
 492         ];
...

4、验证

可以通过浏览器打开无痕浏览窗口打开页面进行测试,刷新几次页面就可以看到 Redis Object Cache 后台有数据了~

总结

WordPress 使用 Redis Obecjt Cache 插件来设置 Redis 作为博客的缓存还是非常地简单了。虽说不是一键搞定,但也仅仅需要 3、4 个步骤即可配置完成。

附录

参考 Redis Object Cache 插件主页

https://wordpress.org/plugins/redis-cache/#installation

参考博客

https://scalegrid.io/blog/using-redis-object-cache-to-speed-up-your-wordpress-installation/

You may also like...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注