前言 今天把其他服务器里的站点迁移到同一台服务器,这些站点大多都是wordpress,都使用了redis缓存数据库,今天迁移过来的时候,第一个开启redis的站点没有问题,第二个开启redis的站点会直接和第一个冲突,第二个站点显示的内容会跳转到第一个站点上。 尝试过程一开始在hostloc里问了各位大佬,发现各位大佬的方法都没办法用,然后自己研究。有大佬推荐de fine( ‘WP_REDIS_DATABASE’, 1 );指定redis数据库分开,大佬的方法肯定是对的,但是不知道是不是redis版本问题,在这个版本上无法正常使用,还有一种方法是*/define(‘WP_CACHE_KEY_SALT’, ‘站点域名’);通过设置键值来分别存储redis数据,这两种方法我都试过了,也保存并且重启了,都没有起到效果,还是依旧会串数据,另外我还看到了一种多端口redis实例共存的方案,觉得太麻烦就没有选择研究。 研究过程思来想去,我想到redis启动的时候会默认有十几个库给我们使用,最简单的方法就是给每个wordpress运行redis的时候选择不同的库,但是大佬推荐的方法没有办法用,所以我打开了redis的设置页面,看看能不能研究到什么东西,我发现有个database :0,这个应该是这个站点运行redis的时候选择了redis 0库。
找到这个了后,我想尝试直接从Redis Object Cache插件文件入手,看看能不能直接从文件上通过修改数值让wordpress的redis启动时通过数值选择redis数据存放库。然后我打开了位于wp-content/object-cache.php下的文件,发现了database值,通过修改这边的值,确实可以选择当前站点运行的redis数据存放库,但是修改这里,下次重新启动的时候还是会重新恢复成0。
然后我搜了一下,发现在/wp-content/plugins/redis-cache/includes也有个object-cache.php
两个文件一模一样,我通过更改这边文件的 database值,前面的站点我用了0.这个我改成1,然后两个站点就顺利共存了。 总结方法第一步、打开网站目录到/wp-content/plugins/redis-cache/includes打开文件夹下的object-cache.php文件 第二步、搜索database
第三步、更改database后面的值,redis库的值从0开始 0 1 2 3 4 5 6….. 第一个站点我设置了0库,第二个我设置1库。
第四步、保存文件,然后重新启用oRedis Object Cache 就可以共存了。 原理通过修改Redis Object Cache插件的运行文件数据来手动选择当前站点redis运行时存储的数据库。
版权声明
1、转载或引用本网站内容须注明原网址,并标明本网站网址(http://www.cece56.com)。
2、转载或引用本网站中的署名文章,请按规定向原作者支付稿酬【除免费外】。
3、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任。
4、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利。
本网站所提供的信息,只供参考之用。
本网站及其雇员一概毋须以任何方式就任何信息传递或传送的失误、不准确或错误对用户或任何其他人士负任何直接或间接的责任。
在法律允许的范围内,本网站在此声明,不承担用户或任何人士就使用或未能使用本网站所提供的信息或任何链接或项目所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿(包括但不限于收益、预期利润的损失或失去的业务、未实现预期的节省)。
本网站所提供的信息,若在任何司法管辖地区供任何人士使用或分发给任何人士时会违反该司法管辖地区的法律或条例的规定或会导致本网站或其第三方代理人受限于该司法管辖地区内的任何监管规定时,则该等信息不宜在该司法管辖地区供该等任何人士使用或分发给该等任何人士。用户须自行保证不会受限于任何限制或禁止用户使用或分发本网站所提供信息的当地的规定。
本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。
凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
本文地址:http://cece56.cn/forum.php?mod=viewthread&tid=292
|