Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。Redis也常用于Mysql数据库缓存。
如果你像挖站否这样安装了不少的WP插件(参考:我正在用的WordPress插件),同时给WP增加了论坛、评论等各种各样的扩展,那么Wordpress数据库查询次数可能会非常多,这时非常有必要给自己的Wordpress安装数据库缓存了,Redis缓存数据库是一个非常好的选择。
这篇文章就来分享一下如何在Wordpress上安装和使用Redis缓存加速,有一些插件或者主题会出现不兼容WP Redis的问题,我们可以设置忽略WP Redis缓存的参数,另外多站点配置WP Redis也是行得通的,只需要给Redis缓存设置好连接密码就可以应用到多个实例。
多站点启用Redis缓存
define('WP_REDIS_CONFIG', [
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0, // change for each site
'timeout' => 0.5,
'read_timeout' => 0.5,
'async_flush' => true,
'compression' => 'zstd',
'serializer' => 'igbinary',
'split_alloptions' => true,
'prefetch' => true,
'debug' => false,
'save_commands' => false,
]);
define('WP_REDIS_DISABLED', getenv('WP_REDIS_DISABLED') ?: false);
define('WP_CACHE_KEY_SALT', 'iuzk_'); // 设置所有缓存键的前缀(Wordpress多站点模式下使用)
define('WP_REDIS_MAXTTL', '86400');
WP Redis缓存插件
插件:
链接 链接 链接 链接
WordPress Redis缓存插件主要有:WP Redis、Redis Object Cache,W3 Total Cache和WP Super Cache是一个缓存插件,功能多,但同时也支持Redis缓存。以Redis Object Cache为例,启用该插件后记得在后台点击启动。
检测Redis缓存生效
使用以下命令就可以查看到本机的Redis缓存是否生成了:
redis-cli monitor
进入到你的网站,刷新页面,你就可以看到有数据输出了
总结
Redis缓存对于减少Wordpress的数据库查询次数非常有用,尤其是比较适合一些动态的网站,例如Wordpress设置页面缓存,但是对于登录用户就无法使用页面缓存,这时我们就可以使用Redis动态缓存了。
挖站否使用Redis缓存也有一段时间了,遇到的问题主要有无法登录后台,清除Redis缓存正常了。另外,Redis缓存还可以导致插件和主题修改不生效,手动强制删除Redis缓存的命令如下:
#进入redis
redis-cli
#清空
flushall
#退出
exit