解决多个WordPress站点使用Memcached和Redis缓存插件数据冲突的方法及详细步骤

前言

解决多个WordPress站点使用Memcached和Redis缓存插件数据冲突的方法及详细步骤插图前不久我使用了Memcached和redis对Wordpress进行了加速,同时开启了PHP加速脚本,网站的速度一下子就上去了,但是最近又发现了其他的一些问题,就是在同一服务器上多个站点使用Memcached和redis冲突的问题,这样速度就慢了,甚至可能出现错误。

原因分析

这是因为 object-cache.php 是使用 WordPress 的表前缀($table_prefix)来区分不同站点在内存中的缓存的。如果你在同个服务器多个 WordPress 网站的表前缀都相同,都是默认的 wp_,那么 object-cache.php 就无法区分是哪个站点了。那么怎么解决呢?

Memcached处理步骤

知道了问题,那么就非常好解决,有两个解决方法:

1. 修改表前缀,让不同的 WordPress 博客使用不同的表前缀。但是一般修改表前缀都涉及到数据库,很多小白都不会操作,我也不会,

2. 如果修改表前缀不方便,我还提供了 WP_CACHE_KEY_SALT 这个缓存 key 盐值的常量,你只需要在不同站点的 wp-config.php 文件定义不同的 WP_CACHE_KEY_SALT 值即可

比如两个站点分别定义为:

define('WP_CACHE_KEY_SALT', 'site1');
define('WP_CACHE_KEY_SALT', 'site2');

Memcached实操

分别在两个网站的wp-config.php中加入用CACHE_KAY把两个网站区分开。

define('WP_CACHE_KEY_SALT', 'www.nuoyo.cn');

define('WP_CACHE_KEY_SALT', 'zy.nuoyo.cn'); 

记得保存wp-config.php文件,然后重启下或者释放缓存一下就可以了!

同时使用Redis

服务器安装Redis扩展后,默认创建16个Redis数据库(序号0-15),WordPress插件Redis Object Cache中没有选择指定数据库序号的选项,只能使用Redis的第一个库。

一台服务器如果有多个WordPress站点并且都安装使用Redis对象缓存插件,就会导致其中一个站点的数据是另一个站点的数据。

Reids实操

打开第二个站点的/wp-content/plugins/redis-cache/includes/object-cache.php

搜索:database,大概在第629行,把“0”改成1-15的任意数。

解决多个WordPress站点使用Memcached和Redis缓存插件数据冲突的方法及详细步骤插图1

同样地,修改完重启Redis即可

如果Redis数据库中已有冲突数据无法进入后台。

可以进入服务器目录,把wp-content下面的这个缓存文件object-cache.php删掉,就可以恢复访问后台了。

版权声明 1 本网站名称:诺言博客
2 本站永久网址:https://nuoyo.cn
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ2469329338进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7 如无特别声明本文即为原创文章仅代表个人观点,版权归《诺言》所有,欢迎转载,转载请保留原文链接。
THE END
分享
二维码
打赏
海报
解决多个WordPress站点使用Memcached和Redis缓存插件数据冲突的方法及详细步骤
前言 前不久我使用了Memcached和redis对Wordpress进行了加速,同时开启了PHP加速脚本,网站的速度一下子就上去了,但是最近又发现了其他的一些问题,就是在同……
<<上一篇
下一篇>>