业务原来所在的Redis需要做迁移,感谢Redis,主从切换不算太复杂。 为了可以更好地阐述过程,我们定义了:
A 服务器,原来拥有 redis 数据库的机器
B 服务器,未来取代 A 服务器的 redis 数据库服务器
主从同步主要操作有2步:
把 B 服务器的 redis 配置更改为:
slaveof IP地址 端口
这样就开始同步了,并且只读了。
接下来准备把 B 服务器提升为 master,
redis-in-b-host> slaveof no one
B服务器就断掉主从同步,提升为主,并行可读写
1
CarlWangCn 2015-07-16 08:57:03 +08:00 1
用sentinel试试, 更方便
|
2
soli 2015-07-16 09:31:41 +08:00
如果切换主呢?
比如, A1 / \ B1 B2 要想把 A1 换成 A2 呢? A1 和 A2 的内容基本是一样的。 怎么做能平滑一些? |
3
zhengji OP @CarlWangCn 好的,谢谢
|
4
cheng007 2015-07-16 13:04:02 +08:00
没有做主从,只做了写日志备份
日志: {"cmd":"hincrby","args":["player:uid:1000018","it:201",5000]} {"cmd":"hset","args":["player:uid:1000004","nickname","iPhone 5saaaa"]} {"cmd":"hset","args":["player:uid:1000004","sex",1]} {"cmd":"hset","args":["player:uid:1000018","title",101]} {"args":["player:uid:1000018","title",202],"cmd":"hset"} {"args":["player:uid:1000018","it:201",300000],"cmd":"hincrby"} {"args":["player:uid:1000018","js:ach","[{\"d\":true,\"i\":101,\"p\":0},{\"d\":true,\"i\":201,\"p\":6},{\"d\":true,\"i\":202,\"p\":26},{\"d\":false,\"i\":203,\"p\":57}]"],"cmd":"hset"} {"cmd":"hset","args":["player:uid:1000018","js:ach","[{\"i\":101,\"d\":true,\"p\":0},{\"i\":201,\"d\":true,\"p\":6},{\"i\":202,\"d\":true,\"p\":26},{\"i\":203,\"d\":true,\"p\":57}]"]} {"cmd":"hincrby","args":["player:uid:1000018","it:201",25000]} |