WordPress使用Redis缓存加速-WP Redis插件,缓存忽略,多站点配置

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。Redis也常用于Mysql数据库缓存

如果你像挖站否这样安装了不少的WP插件,同时给WP增加了论坛、评论等各种各样的扩展,那么Wordpress数据库查询次数可能会非常多,这时非常有必要给自己的Wordpress安装数据库缓存了,Redis缓存数据库是一个非常好的选择。

这篇文章就来分享一下如何在Wordpress上安装和使用Redis缓存加速,有一些插件或者主题会出现不兼容WP Redis的问题,我们可以设置忽略WP Redis缓存的参数,另外多站点配置WP Redis也是行得通的,只需要给Redis缓存设置好连接密码就可以应用到多个实例。

一、安装PHP Redis扩展

WordPress利用Redis缓存加速可以大大减少数据库,要让Wordpress使用Redis缓存加速,首先你需要在服务器上安装PHP Redis扩展,如果你在用Oneinstack、LNMP或者是宝塔BT面板,已经支持一键安装Redis了。

二、WP Redis缓存插件

插件:

  1. https://cn.wordpress.org/plugins/redis-cache/
  2. https://cn.wordpress.org/plugins/wp-redis/
  3. https://cn.wordpress.org/plugins/w3-total-cache/
  4. https://cn.wordpress.org/plugins/wp-super-cache/

WordPress Redis缓存插件主要有:WP Redis、Redis Object Cache,W3 Total Cache和WP Super Cache是一个缓存插件,功能多,但同时也支持Redis缓存。以Redis Object Cache为例,启用该插件后记得在后台点击启动。

四、禁用某个Redis缓存

使用了Redis缓存后,有些主题或者是插件可能出现不兼容的问题,例如挖站否论坛使用的插件Anspress就不兼容Redis,所以我们需要在wp-config.php中排除插件或者主题用到的Groups,代码如下:

define('WP_REDIS_IGNORED_GROUPS',array('comment','counts','plugins','themes','anspress','ap','ap_prefetch_activities','ap_q_id_activity','ap_users_reputation','ap_qameta','ap_prefetch_activities','ap_subscriber','ap_votes_queries','ap_vote'));

我们在Redis Object Cache插件中可以看到忽略的参数,表示已经生效了。

五、多站点启用Redis缓存

如果你的服务器上运行了多个Wordpress,这个时候就需要WP_CACHE_KEY_SALT来给每个网站设置一个值,这样多个网站就可以共同启用Redis缓存了(字符串值可以使用上面的随机生成网址生成)。

  1. define( 'WP_CACHE_KEY_SALT', 'hpWQo8vfb3' );
  2. # define('WP_CACHE', true);

六、远程使用Redis缓存

如果你想要让你的Wordpress调用远程的Redis缓存(像阿里、腾讯云就提供此类的服务),编辑wp-config.php指定Redis缓存的地址、端口、密码以及数据库等,如果配合上面的WP_CACHE_KEY_SALT设置,你又可以实现远程+多站点Redis缓存了。代码如下:

  1. define('WP_REDIS_HOST', 'xxx.wzfou.com'); #默认是127.0.0.1
  2. define('WP_REDIS_PORT', '6379'); #默认是6379
  3. define('WP_REDIS_DATABASE', '0'); # redis 数据库(第一个0 ,然后是1,依次类推)
  4. define('WP_REDIS_PASSWORD', qimm); # redis 数据库密码,默认是无

Redis完整配置命令如下,请根据自己的需要使用:

#Redis完整配置如下:
  1. define('WP_REDIS_CLIENT', 'pecl'); // 指定用于与Redis通信的客户端, pecl 即 The PHP Extension Community Library
  2. define('WP_REDIS_SCHEME', 'tcp'); // 指定用于与Redis实例进行通信的协议
  3. define('WP_REDIS_HOST', '127.0.0.1'); // Redis服务器的IP或主机名
  4. define('WP_REDIS_PORT', '6379'); // Redis端口
  5. define('WP_REDIS_DATABASE', '0'); // 接受用于使用该SELECT命令自动选择逻辑数据库的数值
  6. define('P_REDIS_PASSWORD', ''); // Redis密码
  7. define('WP_CACHE_KEY_SALT', 'wp_'); // 设置所有缓存键的前缀(Wordpress多站点模式下使用)
  8. define('WP_REDIS_MAXTTL', '86400');

七、检测Redis缓存生效

使用以下命令就可以查看到本机的Redis缓存是否生成了:

  1. redis-cli monitor

八、总结

Redis缓存对于减少Wordpress的数据库查询次数非常有用,尤其是比较适合一些动态的网站,例如Wordpress设置页面缓存,但是对于登录用户就无法使用页面缓存,这时我们就可以使用Redis动态缓存了。

挖站否使用Redis缓存也有一段时间了,遇到的问题主要有无法登录后台,清除Redis缓存正常了。另外,Redis缓存还可以导致插件和主题修改不生效,手动强制删除Redis缓存的命令如下:

  1. #进入redis
  2. redis-cli
  3. #清空
  4. flushall
  5. #退出
  6. exit

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 Wordpress教程 WordPress使用Redis缓存加速-WP Redis插件,缓存忽略,多站点配置 https://www.mbxzb.com/blog/wordpress/23915.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务