网站开发 cms,用asp做网站流程,成都app开发制作公司排名,网站开发整体制作流程本文适用于将源服务器的redis实例的key的数据迁移到其他服务器的redis实例 一、migrate简介#xff1a;
migrate用于在Redis实例间进行数据迁移#xff0c;实际上migrate命令是将dump、restore、del三个命令进行组合#xff0c;从而简化了操作流程。migrate命令具有原子性
migrate用于在Redis实例间进行数据迁移实际上migrate命令是将dump、restore、del三个命令进行组合从而简化了操作流程。migrate命令具有原子性从Redis 3.0.6版本后已经支持迁移多个键的功能。migrate命令的数据传输直接在源Redis和目标Redis上完成目标Redis完成restore后会发送OK给源Redis。
二、migrate命令参数
MIGRATE host port key| destination-db timeout [COPY] [REPLACE] [AUTH password] [AUTH2 username password] [KEYS key]重要参数解释
host目标Redis的IP地址 port目标Redis的端口 key|“”Redis 3.0.6 后如果需要迁移多个键此处为空字符串 destination-db目标Redis的数据库索引 timeout迁移的超时时间单位为毫秒 copy如果添加此选项后迁移后不删除源键。 replace如果添加此选项migrate不管目标Redis是否存在该键都会正常迁移进行数据覆盖,如果不提供此参数且目标redis存在该键则抛出异常”(error) ERR Target instance replied with error: BUSYKEY Target key name already exists.“ keys如果要迁移多个键 keys key1 key2 key3 key4
示例
将name1 复制到目标redis的0库超时时间为1s不删除源redis的key覆盖目标redis中相同的key
MIGRATE 127.0.0.1 6379 name1 0 1000 copy replace如果移动多个key
MIGRATE 127.0.0.1 6379 2 5000 copy replace keys key1 key2 key3 key4三、实践测试
1、我在本地模拟了两个redis实例。ip都为127.0.0.1端口一个是默认的6379一个是63791 并且分别set了不同的key
127.0.0.1:63791 keys *
1) age
2) like
3) colour127.0.0.1:6379 keys *
1) student2、在源redis实例63791上执行迁移命令 将age 复制到目标redis的0库超时时间为1s不删除源redis的key覆盖目标redis中相同的key
127.0.0.1:63791 keys *
1) age
2) like
3) colour
127.0.0.1:63791
127.0.0.1:63791
127.0.0.1:63791
127.0.0.1:63791
127.0.0.1:63791 MIGRATE 127.0.0.1 6379 age 0 1000 copy replace
OK查看6379的redis实例可以看到age迁移成功
127.0.0.1:6379 keys *
1) age
2) student
127.0.0.1:6379 get age
22再试一下replace这个参数的作用增加这个参数代表覆盖目标key验证一下现在6379的实例的age是22 我们在源实例里将age改一下然后再迁移
127.0.0.1:63791 set age 99
OK
127.0.0.1:63791 get age
99
127.0.0.1:63791 MIGRATE 127.0.0.1 6379 age 0 1000 copy replace
OK查看目标实例 可以看到age已经被覆盖了
127.0.0.1:6379 keys *
1) age
2) student
127.0.0.1:6379
127.0.0.1:6379 get age
99如果不想覆盖目标实例的key可以把replace参数去掉在源实例执行一下命令 可以看到抛出了异常key已经存在
127.0.0.1:63791 MIGRATE 127.0.0.1 6379 age 0 1000 copy
(error) ERR Target instance replied with error: BUSYKEY Target key name already exists.迁移多个key的命令
127.0.0.1:63791 MIGRATE 127.0.0.1 6379 0 1000 copy replace keys age like colour
OK查看目标实例 可以看到数据都被迁移了过来
127.0.0.1:6379 keys *
1) like
2) age
3) student
4) colour剩下的其他参数大家可以自己验证一下~