如何完成redis数据迁移?

DreamMakers DreamMakers     2022-12-06     364

关键词:

如何进行Redis数据迁移?

如何完成Redis数据迁移?

有的时候,我们希望将redis实例中的数据迁移到当前实例的另一个dbindex中,或者迁移到另外的一个redis实例上,此时我们应该怎么处理呢?下面给出几个方案,具体操作过程中可以根据实际情况选择使用。

使用keys + move命令实现数据迁移

第一种方案就是采用keys命令遍历所有的键值,然后通过move命令来进行移动。下面所有的操作以我本机redis中的数据来进行演示说明。

首先在db0里没有数据,在db1中存放了两个我预置的测试数据,如下所示:

接下来我们执行下面的命令:
redis-cli -n 1 keys ‘*’ | xargs -I ‘’ redis-cli -n 1 move ‘’ 0

然后登陆redis中查看两个db中的数据情况:

从上面可以看到,原本属于db1的数据已经没有了,全部迁移到了db0中。如果在数据迁移后还想继续保留原db中的数据,那么就不能采用这种方式了。

此外,由于使用了keys命令,对于数据量很大的db,也不建议使用该方式进行迁移,否则可能导致程序卡死。对于move命令,如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。

使用keys + migrate命令实现数据迁移

MIGRATE命令说明

MIGRATE是Redis中的一个命令,将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除。

MIGRATE命令的用法是:
MIGRATE host port key destination-db timeout [COPY] [REPLACE]

这个命令是一个原子操作,它在执行的时候会阻塞进行迁移的两个实例,直到以下任意结果发生:迁移成功,迁移失败,等到超时。

命令的内部实现是这样的:它在当前实例对给定 key 执行 DUMP 命令 ,将它序列化,然后传送到目标实例,目标实例再使用 RESTORE 对数据进行反序列化,并将反序列化所得的数据添加到数据库中;当前实例就像目标实例的客户端那样,只要看到 RESTORE 命令返回 OK ,它就会调用 DEL 删除自己数据库上的 key 。

如何使用MIGRATE命令实现Redis数据迁移

使用的命令如下:
redis-cli -n 0 keys ‘*’ | xargs -I ‘’ redis-cli -n 0 migrate 目标IP 6379 ‘’ 1 10000 COPY keys ‘’

其他方案实现数据迁移(待续。。。)

redis技术探索「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移redis数据实战指南(数据检查对比)(代码片段)

...不一致。【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南࿰ 查看详情

redis数据迁移

...高”的业务场景,在的众多需求下,需要进行数据迁移,完成“平滑迁移数据,迁移过程不停机,保证系统持续服务”的解决方案。 查看详情

redis技术探索「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移redis数据实战指南(scan模式迁移)(代码片段)

...篇文章。【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据... 查看详情

redis技术探索「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移redis数据实战指南(离线同步数据)

...现有服务器进行迁移,包括线上正在运行的redis集群环境如何去做?涉及到数据源变动,原有数据如何平滑迁移到新实例,从而可以实现无缝迁移?方案汇总save/bgsave导出RDB+Redis-Shake进行迁移基于re 查看详情

redis技术探索「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移redis数据实战指南(在线同步数据)

从实战出发使用RedisShake进行Redis数据在线+离线模式迁移指南RedisShake基本介绍​​RedisShake​​是基于​​redis-port​​基础上进行改进的是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。数据... 查看详情

redis技术探索「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移redis数据实战指南(在线同步数据)(代码片段)

从实战出发使用RedisShake进行Redis数据在线+离线模式迁移指南RedisShake基本介绍RedisShake是基于redis-port基础上进行改进的是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。数据可平... 查看详情

redis技术探索「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移redis数据实战指南(离线同步数据)(代码片段)

...服务器进行迁移,包括线上正在运行的redis集群环境如何去做?涉及到数据源变动,原有数据如何平滑迁移到新实例,从而 查看详情

redis版本升级数据迁移使用redis-shake

...一致,数据可平滑迁移。本文以Linux系统环境为例,介绍如何使用Redis-Shake工具进行Cluster集群数据迁移在线迁移在线迁移主要适用于自建RedisCluster集群迁移到DCSCluster集群的场景,且两端集群实例 查看详情

企业如何成功完成云迁移?

  云迁移,主要是数据迁移,涉及将数据从一个系统移动到另一个系统。服务器迁移意味着在两台服务器之间移动数据。因此,云迁移通常需要在两个云之间或您的本地服务器和云之间移动数据。虽然小型迁移相对简单,但大... 查看详情

如何将阿里云1台redis实例的全部数据迁移到另外1台

参考技术Afoxmail的文件下拉菜单有导入选项。 查看详情

Laravel 应用程序无法完成迁移 - 新安装 - 如何修复数据库连接

】Laravel应用程序无法完成迁移-新安装-如何修复数据库连接【英文标题】:Laravelapplicationfailstocompletemigration-Newinstall-Howtofixdatabaseconnection【发布时间】:2021-04-2919:28:11【问题描述】:我为客户设置了一个新应用程序并启动了phparti... 查看详情

如何在 docker-compose.yml 中开始测试之前等待数据库迁移完成

】如何在docker-compose.yml中开始测试之前等待数据库迁移完成【英文标题】:Howtowaitfordatabasemigrationstocompletebeforestartingtestsindocker-compose.yml【发布时间】:2019-06-0512:29:00【问题描述】:在docker-compose.yml文件中,我有3个服务。第一个... 查看详情

redis键迁移

...会遇到需要进行键迁移的问题,需要将指定Redis中的指定数据迁移到其他Redis当中,键迁移有三种方法,我们来进行一一介绍。一、movemovekeydb?move命令由于在Redis内部进行数据迁移,Redis内部可以有多个数据库,彼此在数据上相互... 查看详情

redis数据迁移方案

场景Redis实例A--->Redis实例B,整库全量迁移方案一:mac环境 brewinstallnpm npminstallredis-dump-g针对RedisA:redis-dump-hhost1-p6379-d1--json>mydb.json针对RedisB:catmydb.json|redis-dump--convert|redis-cli方案二:参考:http://ww 查看详情

vmware虚拟机如何迁移

参考技术A  如何迁移虚拟机?下面的vmware虚拟机迁移教程将给一个清晰的答案。迁移虚拟机是指把一个虚拟机从一个主机或者一个存储位置移动到另一个主机或者是存储位置。  冷迁移:将关闭电源的虚拟机移动到新的主机... 查看详情

centos6.9版本如何完成目录迁移

...要把它从一个磁盘迁移到另一个磁盘的情况,哪这个任务如何完成呢?下面我们就来做个小实验手把手的教你650)this.width=650;"src="https://img.baidu.com/hi/jx2/j_0061.gif"alt="j_0061.gif"/>(注:迁移到另一个磁盘它应该是一个独立分区哟)1、... 查看详情

redis上云迁移实践

...够解决很多基础架构上的便利,提高业务架构的稳定性,如何将Redis数据在线迁移到云上,并且保证业务的无损,从迁移方案和工具选择必须要考虑如下几点:兼容性:Redis社区版向下是兼容的,在上云的过程中,尽量保持大版... 查看详情

单机redis升级及数据迁移方案

...windows下直接会被覆盖,要是用一台机器现进行备份2、做数据迁移,使用最简单粗暴的方式了redis-cli连上后运行把dump.rdb复制到新redis的目录下,重启新redis应用重新连接到新redis这种方式太过于除暴,会丢掉中间这段时间的增量... 查看详情