Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value 型 NoSQL 数据库。凭借自身丰富的 API 、超高的性能以及支持持久化存储等特点, Redis 迅速的成为了数据库缓存领域的第一选择。
WordPress对象缓存机制可以大大减少数据库的查询,如果自己开发主题或插件,那么尽可能使用WordPress自带函数获取数据。一些特殊的数据查询需求,必须自己编写查询语句,则可以使用以下函数来管理对象缓存:
wp_cache_get()
wp_cache_set()
wp_cache_delete()
wp_cache_set()
wp_cache_delete()
1、安装Redis扩展
一般虚拟主机不支持Redis扩展,云服务器可以自行安装,宝塔面板可以找到软件商店,找到已安装的PHP,进入设置页面进行安装:
扩展安装完成后,在服务里重载配置。
2、安装Redis Object Cache插件
安装Redis Object Cache插件,可以在网站后台搜索安装,也可以从官方网站下载以后上传安装。
3、启用对象缓存
如果同一服务器安装了多个WordPress,并且打算都启用Redis缓存,则需要在wp-config.php中添加:
define('WP_CACHE_KEY_SALT', '自定义Key');
直接点击 Enable Object Cache (启用对象缓存)按钮,就会显示 Status: Connected(状态:已连接) ,表示成功。如下图所示:
4、Redis Object Cache 插件个性化配置
通过修改 WordPress 的设置文件 wp-config.php ,添加修改 Redis Object Cache 的配置。上述配置加在 “That’s all, stop editing! Happy blogging.” 这行前面。
define('WP_REDIS_CLIENT', 'pecl'); // 指定用于与 Redis 通信的客户端, pecl 即 The PHP Extension Community Library
define('WP_REDIS_SCHEME', 'tcp'); // 指定用于与 Redis 实例进行通信的协议
define('WP_REDIS_HOST', '127.0.0.1'); // Redis 服务器的 IP 或主机名
define('WP_REDIS_PORT', '6379'); // Redis 端口
define('WP_REDIS_DATABASE', '0'); // 接受用于使用该 SELECT 命令自动选择逻辑数据库的数值
define('WP_REDIS_PASSWORD', 'secret123'); // Redis 密码
define('WP_CACHE_KEY_SALT', 'wp_'); // 设置所有缓存键的前缀( WordPress 多站点模式下使用)
define('WP_REDIS_MAXTTL', '86400');
define('WP_REDIS_SCHEME', 'tcp'); // 指定用于与 Redis 实例进行通信的协议
define('WP_REDIS_HOST', '127.0.0.1'); // Redis 服务器的 IP 或主机名
define('WP_REDIS_PORT', '6379'); // Redis 端口
define('WP_REDIS_DATABASE', '0'); // 接受用于使用该 SELECT 命令自动选择逻辑数据库的数值
define('WP_REDIS_PASSWORD', 'secret123'); // Redis 密码
define('WP_CACHE_KEY_SALT', 'wp_'); // 设置所有缓存键的前缀( WordPress 多站点模式下使用)
define('WP_REDIS_MAXTTL', '86400');
刷新缓存的方案
在主题 functions.php 文件添加下列代码:
//发布、更新文章刷新缓存
add_action('publish_post', 'redis_Refresh_By_Publish', 0);
//文章单页删除
add_action('publish_page', 'redis_Refresh_By_page_Publish', 0);
//提交评论刷新缓存
add_action('comment_post', 'redis_Refresh_By_Comments',0);
//审核评论刷新缓存
add_action('comment_unapproved_to_approved', 'redis_Refresh_By_Approved',0);
add_action('publish_post', 'redis_Refresh_By_Publish', 0);
//文章单页删除
add_action('publish_page', 'redis_Refresh_By_page_Publish', 0);
//提交评论刷新缓存
add_action('comment_post', 'redis_Refresh_By_Comments',0);
//审核评论刷新缓存
add_action('comment_unapproved_to_approved', 'redis_Refresh_By_Approved',0);
5、查看Redis缓存加速效果
检查宝塔Redis是否配置成功,以及访问速度是否有提升,缓存命中率等数据。
本文是全系列中第14 / 14篇:优化加速
- 利用七牛云对象存储+CDN服务,给WordPress网站静态文件加速
- 推荐几款WordPress清理优化插件
- 清理不必要WordPress数据优化数据库插件:Easy WP Cleaner
- wordpress如何开启Memcached缓存加速
- 优化WordPress文章过多导致网站卡顿
- 让WP Rocket速度更快的小技巧 :更适合Nginx服务器
- 清理WordPress中数据库冗余数据的方法
- wordpress删除文章修订版本和自动草稿而残留的数据
- WordPress图像优化插件:Plus WebP
- lnmp 开启 Opcache 脚本缓存提高 php 性能
- 使用OpenLiteSpeed+LiteSpeed cache优化加速Wordpress网站
- WordPress设置QUIC.Cloud免费CDN图文教程
- WordPress禁止上传图片生成多个尺寸版本
- WordPress开启Redis缓存加速