侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

redis server迁移

2023-11-30 星期四 / 0 评论 / 0 点赞 / 74 阅读 / 2107 字

redis的 replication 可以极其简单的实现redis从一个地方到另外一个地方的迁移。在新服务器上启动一个redis实例首先我们先在需要迁移到的服务器上启动一个新的redis实例,配置没有

redis的 replication 可以极其简单的实现redis从一个地方到另外一个地方的迁移。

在新服务器上启动一个redis实例

首先我们先在需要迁移到的服务器上启动一个新的redis实例,配置没有什么特别的地方,值得注意的是, 从redis2.6以后,redis的slave默认变得不再接受写操作,所以我们需要修改conf中的

#slave-read-only yesslave-read-only no

这样slave才能正常的接受写操作,不然之后写的时候会报错。

** 使新的redis服务成为slave**

当新的redis起来后,我们使用redis-cli连进去,然后使用 slaveof 命令使这个redis成为我们的旧 redis的

slave:redis 127.0.0.1:6379> SLAVEOF 192.168.81.122 6379OK

查看迁移是否完成登录到主redis服务器的命令行,执行info replication

127.0.0.1:6379> info replication# Replicationrole:masterconnected_slaves:1slave0:ip=192.168.80.149,port=6379,state=online,offset=1793,lag=0master_repl_offset:1793repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:2repl_backlog_histlen:1792

role:master表示这是一个master,master_repl_offset:939 可以得到当前master记录的复制偏移量。而”slave0:ip=192.168.80.149,port=6379,state=online,offset=939,lag=0”是当前连接到这个master的slave的信息,offset=939 是当前slave的复制偏移量。master和slave的offset相同,说明此刻slave已经复制到最新的数据。

** 完成迁移**

等master和slave之间的同步完成后,我们就可以修改我们的应用,让它们使用新的redis server地址了。 把地址全部修改完以后,在新的redis上执行

redis 127.0.0.1:6379> SLAVEOF no one

让它重新变成老大,这样整个迁移就完成了。之后关闭调旧的redis旧ok了

广告 广告

评论区