立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 97|回复: 9

【技术贴】单redis服务器下多个wordpress站点共存的解决方案

[复制链接]

【技术贴】单redis服务器下多个wordpress站点共存的解决方案

[复制链接]

20

主题

100

回帖

402

积分

中级会员

积分
402
Venkio

20

主题

100

回帖

402

积分

中级会员

积分
402
2021-9-23 16:24:43 | 显示全部楼层 |阅读模式
方法

第一步、打开网站目录到/wp-content/plugins/redis-cache/includes打开文件夹下的object-cache.php文件
第二步、搜索database



第三步、更改database后面的值,redis库的值从0开始 0 1 2 3 4 5 6..... 默认好像有16个,第一个站点我设置了0库,第二个我设置1库。





第四步、保存文件,然后重新启用oRedis Object Cache 就可以共存了。

前言

今天把其他服务器里的站点迁移到同一台服务器,这些站点大多都是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库。




找到这个了后,我想尝试直接从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,然后两个站点就顺利共存了。



原理

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

这篇文章放在我博客了https://www.venkio.com/55.html 有兴趣的可以去看看,以后会分享转载一些技术类的东西。
回复

使用道具 举报

16

主题

346

回帖

1022

积分

金牌会员

积分
1022
GAted0

16

主题

346

回帖

1022

积分

金牌会员

积分
1022
2021-9-23 16:33:19 | 显示全部楼层
你之前改完后,清理过缓存吗
回复

使用道具 举报

20

主题

100

回帖

402

积分

中级会员

积分
402
Venkio 楼主

20

主题

100

回帖

402

积分

中级会员

积分
402
2021-9-23 16:34:14 | 显示全部楼层

GAted0 发表于 2021-9-23 16:33

你之前改完后,清理过缓存吗

清理过呢
回复

使用道具 举报

16

主题

346

回帖

1022

积分

金牌会员

积分
1022
GAted0

16

主题

346

回帖

1022

积分

金牌会员

积分
1022
2021-9-23 16:33:00 | 显示全部楼层

Venkio 发表于 2021-9-23 16:34

清理过呢

那不清楚了,我之前就是按照你前面的操作,没问题
回复

使用道具 举报

20

主题

100

回帖

402

积分

中级会员

积分
402
Venkio 楼主

20

主题

100

回帖

402

积分

中级会员

积分
402
2021-9-23 16:35:00 | 显示全部楼层

GAted0 发表于 2021-9-23 16:35

那不清楚了,我之前就是按照你前面的操作,没问题

嗯嗯 我觉得应该是我自己哪里没有操作好 用那个方法的时候没生效
回复

使用道具 举报

40

主题

870

回帖

2410

积分

金牌会员

积分
2410
乌拉擦

40

主题

870

回帖

2410

积分

金牌会员

积分
2410
2021-9-23 16:34:00 | 显示全部楼层
感谢分享
回复

使用道具 举报

378

主题

2644

回帖

8998

积分

论坛元老

积分
8998
vagaa

378

主题

2644

回帖

8998

积分

论坛元老

积分
8998
2021-9-23 16:36:33 | 显示全部楼层
你网站有点慢
回复

使用道具 举报

20

主题

100

回帖

402

积分

中级会员

积分
402
Venkio 楼主

20

主题

100

回帖

402

积分

中级会员

积分
402
2021-9-23 16:35:00 | 显示全部楼层

vagaa 发表于 2021-9-23 17:13

你网站有点慢

嗯嗯 没怎么优化
回复

使用道具 举报

20

主题

100

回帖

402

积分

中级会员

积分
402
Venkio 楼主

20

主题

100

回帖

402

积分

中级会员

积分
402
2021-9-23 17:11:56 | 显示全部楼层

乌拉擦 发表于 2021-9-23 17:11

感谢分享

谢谢 不用谢
回复

使用道具 举报

0

主题

41

回帖

142

积分

注册会员

积分
142
解憂雜貨店

0

主题

41

回帖

142

积分

注册会员

积分
142
2021-9-23 17:13:05 | 显示全部楼层
不用那么麻烦去修改源码:https://github.com/rhubarbgroup/redis-cache/wiki/Connection-Parameters
自己在`wp-config.php`定义一下相关常量就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|HS2V主机综合交流论坛

GMT+8, 2024-12-19 15:17 , Processed in 0.024513 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表