当前位置: 首页 > 知识库问答 >
问题:

Redis主机之间的同步

周威
2023-03-14

我在不同的机器上各有3台redis服务器。是否有可能在3台服务器之间同步,即每台服务器具有相同的数据。

我考虑使用主从模式,也就是说,所有的写操作都会发送到一台服务器(a),这台服务器就是主服务器。其他2台服务器(B、C)是从服务器,您可以从中读取数据。但问题是,当主机启动时,您尝试从从机读取时,您会被重新定向到主机-我希望从机为读取服务。

我如何实现这个要求?

要回答以下问题:-

如下图所示,10.200.37.106:7002是10.200.37.172:7001的奴隶。

集群节点

e79124fbedc01f8a7e939cfc97298ed8a915df5f 10.200.37.178:7001从1836dd7a25773e6344c49a1219e70835b18ef29a 0 1438981146403 11已连接

2761f9d7a37e2cb749f7e0a7232057cb4df8091c 10.200.37.172:7002从机E556A56C3FDA6CD95DCD63EF53711CF25B29E5A50 1438981146904已连接

E556A56C3FDA6CD95DCD63EF53711CF25B29E5A510.200.37.106:7001主-0 1438981145902 1连接0-5460

3dad620d271dc35ad1e156a4afdd238f5f1da60b10.200.37.172:7001自己,主-0 0 13连接5461-10922

1836dd7a25773e6344c49a1219e70835b18ef29a 10.200.37.178:7002主机-0 1438981144898 11已连接10923-16383

bcc1f12de5d5924772519da3539f4bbdb331f5be 10.200.37.106:7002从3DAD620D271DC35AD1E156A4 AFDD238F5F1DA60B 0 1438981146904 13已连接

但奴隶还是把我引向了主人。

奴隶

[jai@SparkDev~]$redis-cli-p 7002-h10.200.37.106

10.200.37.106:7002

(错误)移动579810.200.37.172:7001

10.200.37.106:7002

主人

[jai@SparkDev~]$redis-cli-p 7001-h10.200.37.172

10.200.37.172:7001

“贾伊”

共有1个答案

黄毅
2023-03-14

引用http://redis.io/topics/cluster-spec#scaling-使用从节点进行读取:

通常,从节点将客户端重定向到给定命令中涉及的哈希槽的权威主机,但是客户端可以使用从节点,以便使用READONLY命令缩放读取。

READONLY告诉Redis群集从节点,客户端可以读取可能过时的数据,并且对运行写查询不感兴趣。

 类似资料:
  • -v /root/mysql/conf:/etc/mysql 上面命令可以将宿主机目录挂载到容器中,当容器目录不为空时,宿主机目录下的文件会覆盖了容器目录中的文件。 如果我现在宿主机没有配置文件,/root/mysql/conf 是空。 我想把容器中默认的配置映射出来,效果是容器启动后,/root/mysql/conf 目录下出现了容器 /etc/mysql 目录下的内容,如何实现。 -v mys

  • 问题内容: 我想在我的应用程序中使用Redis作为分布式缓存。要求之一是具有Active Active可用性,这意味着我在一个地方拥有一个数据中心,而在其他地方拥有另一个数据中心。如果一个数据中心发生故障,我希望我的用户没有任何感觉,并希望能够从第二个站点的第一个数据中心获取所有数据并继续工作- 在第二个站点也拥有一个主数据库。可能吗? 问题答案: 您正在寻求一种主动-主动(又称为多主设备)解决方

  • 问题内容: 我找不到将Docker运行容器从一台主机移动到另一台主机的方法。 有什么办法可以像将图像一样将容器推入存储库吗?当前,我不使用数据卷来存储与在容器内运行的应用程序关联的数据。因此,一些数据驻留在容器内,我想在重新设计设置之前将其保留。 问题答案: 您无法将正在运行的Docker容器从一台主机移动到另一台主机。 您可以使用将容器中的更改提交到映像,将映像移到新主机上,然后使用启动新容器。

  • 问题内容: 各自的优缺点是什么?请建议何时使用一种而不是另一种。 问题答案: 数据存储 发布/订阅是发布者/订阅者平台,不是数据存储。无论是否有订阅者,发布的消息都会消失。 在Redis Streams中,stream是一种数据类型,它本身就是一种数据结构。消息或条目存储在内存中,并保留在那里直到被命令删除。 同步/异步通信 发布/订阅是同步通信。各方需要同时处于活动状态才能进行通信。Redis在

  • 问题内容: 我正在尝试通过我的应用进行连接。如果我通过或通过运行应用程序,则所有这些工作都可以进行。但是,当我在其中运行应用程序时,出现以下错误消息: 请注意,在以上错误消息中正确,但其他时间晚了5天。 我发现有趣的是,我只在docker容器中收到过此消息。 需要注意的一件事是,但是删除它根本没有帮助我 我基本上从IntelliJ运行相同的步骤,但没有问题,但是在docker中,到期日期似乎要晚5

  • 问题内容: 我在Linode服务器上运行了docker。有时,我看到码头上的时间不正确。目前,我已经在每个docker中更改了运行脚本,以包括以下代码行。 但是,我理想地希望做的是docker应该与主机同步时间。有没有办法做到这一点? 问题答案: 该答案的来源是对该答案的注释:docker容器会自动与主机同步时间吗? 查看答案后,我意识到docker容器上不会发生时钟漂移。Docker使用与主机相