单redis服务器下多个wordpress站点共存的解决方案

释放双眼,带上耳机,听听看~!

前言

今天把其他服务器里的站点迁移到同一台服务器,这些站点大多都是wordpress,都使用了redis缓存数据库,今天迁移过来的时候,第一个开启redis的站点没有问题,第二个开启redis的站点会直接和第一个冲突,第二个站点显示的内容会跳转到第一个站点上。

尝试过程

一开始在hostloc里问了各位大佬,发现各位大佬的方法都没办法用,然后自己研究。有大佬推荐de fine( ‘WP_REDIS_DATABASE’, 1 );指定redis数据库分开,大佬的方法肯定是对的,但是不知道是不是redis版本问题,在这个版本上无**常使用,还有一种方法是*/def/ine(‘WP_CACH/E_KEY_SALT’, ‘站点域名’);通过设置键值来分别存储redis数据,这两种方法我都试过了,也保存并且重启了,都没有起到效果,还是依旧会串数据,另外我还看到了一种多端口redis实例共存的方案,觉得太麻烦就没有选择研究。

研究过程

思来想去,我想到redis启动的时候会默认有十几个库给我们使用,最简单的方法就是给每个wordpress运行redis的时候选择不同的库,但是大佬推荐的方法没有办法用,所以我打开了redis的设置页面,看看能不能研究到什么东西,我发现有个database :0,这个应该是这个站点运行redis的时候选择了redis 0库。
image

找到这个了后,我想尝试直接从Redis Object Cache插件文件入手,看看能不能直接从文件上通过修改数值让wordpress的redis启动时通过数值选择redis数据存放库。然后我打开了位于wp-content/object-cache.php下的文件,发现了database值,通过修改这边的值,确实可以选择当前站点运行的redis数据存放库,但是修改这里,下次重新启动的时候还是会重新恢复成0。
image-2
image-1
然后我搜了一下,发现在/wp-content/plugins/redis-cache/includes也有个object-cache.php

两个文件一模一样,我通过更改这边文件的 database值,前面的站点我用了0.这个我改成1,然后两个站点就顺利共存了。
image-3-1024x588-1

原理

通过修改Redis Object Cache插件的运行文件数据来手动选择当前站点redis运行时存储的数据库。

具体方法

第一步、打开网站目录到/wp-content/plugins/redis-cache/includes打开文件夹下的object-cache.php文件
第二步、搜索database
image-4-1024x784-1
第三步、更改database后面的值,redis库的值从0开始 0 1 2 3 4 5 6….. 默认好像有16个,第一个站点我设置了0库,第二个我设置1库。
image-6
image-5
第四步、保存文件,然后重新启用oRedis Object Cache 就可以共存了。

温馨提示:本文最后更新于 2022-12-11 01:44 ,某些文章具有时效性,若有错误或已失效,请在下方留言或联系逆念

给TA打赏
共{{data.count}}人
人已打赏
网络技术

小程序注册法: 教你如何每人开8个腾讯云新人账户

2022-5-25 21:46:50

网络技术

宝塔面板安装ngx_waf,高性能的Nginx防火墙模块自带类似cf的防cc攻击的5秒盾

2022-5-27 1:47:51

重要声明

本站资源大多来自网络,如有侵犯你的权益请联系管理员,QQ508044570 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索