`

redis迁移数据

 
阅读更多

清理memcached缓存:首先telnet连接memcache,然后“flush_all”清除缓存,最后quit退出。

redis数据迁移:将一个redis的数据迁移到另一个redis中,redis提供了三种方式来满足数据迁移的需求,分别是move、dump+restore、migrate。

1.1.1 move key db

Redis支持多数据库,多数据库之间彼此在数据上是隔离的。move key db就是把指定的键从源数据库迁移到目标数据库中。由于多数据库在生产环境中不建议使用,所以此命令很少使用到。

 

1.1.2 dump+restore

命令: 源REDIS: dump key

     目标redis:restore keyttl value 其中ttl代表过期时间,单位:毫秒。0代表不过期

实现原理:

dump+restore可以实现redis不同实例之间的数据迁移。

(1)      在源Redis上,dump命令会将键值序列化,格式采用RDB格式。

(2)      在目标Redis上,restore命令会将上面序列化的值进行复原,其中ttl代表过期时间,如果ttl为0,则表示没有过期时间

 注意事项:

(1)      整个迁移过程并非原子性的,而是通过客户端分布完成的。

(2)      迁移过程是开启了两个实例的redis客户端,将源REDIS序列化后的值放到目标REDIS实例客户端进行操作,并不是在源Redis和目标Redis之间进行传输

1.1.3 migrate

migrate命令具有原子性,只需要在源redis实例上执行migrate命令即可。Migrate的命令传输直接在源redis和目标redis实例之间进行。

命令:migrate host port key |’’ destination-db timeout [copy] [replace][keyskey[key…]]

选项:host:目标redis的IP地址

     Port:目标redis的端口号

     key|’’’’:在Redis3.06版本之前,migrate只支持迁移一个键,所以此处是要迁移的键。

 Redis3.06版本之后支持迁移多个键,如果迁移多个键则此处填写空字符串’’’’

     destination-db:目标数据库索引,例如要迁移到0号数据库,这里就写0

     timeout:迁移的超时时间(单位毫秒)

     [copy]:添加此选项后迁移后并不删除源键

     [replace]:添加此选项后,不管目标redis是否存在该键,都会正常迁移进行数据覆盖

      [keys key[key…]]:迁移多个键,例如要迁移k1k2 k3,此处填写keys key1 key2 key3,当所有的key在源实例上不存在时返回nokey

例如:migrate 10.3.34.101 6378  010000 copy keys mi aa

将mi aa两个元素迁移到10.3.34.101 6378实例的0号数据库上,源实例mi aa两个键仍然保留。

在java程序中,可以根据*获取旧redis源的所有匹配的key,有值的逐个set到新redis中。

分享到:
评论

相关推荐

    Redis集群数据迁移操作文档

    `rewrite`参数决定在目标Redis已有相同键时是否覆盖,`target.db`指定了迁移数据的目标逻辑数据库名,而`parallel`用于设置并发线程数以提升同步效率。 实际迁移过程中,我们以两个场景为例:一是从一个Redis集群...

    java 对Redis的导入和导出

    如果需要在多台Redis服务器间迁移数据,可以将上述逻辑封装为一个服务,通过消息队列或定时任务触发迁移操作,确保数据一致性。 通过以上步骤,我们可以实现Java对Redis数据的导入和导出。这不仅可以帮助我们在...

    redis迁移到redis

    redis迁移到redis,支持string、list、set、hash;支持主从、支持集群版;支持制定库迁移,已经测试验证。如有问题欢迎留言指出可以定向优化

    Redis数据导入导出以及数据迁移的4种方法详解

    第二种方法是通过自定义脚本(例如 `xttblog_redis_mv.sh`)迁移数据。该脚本通过 `redis-cli` 连接源和目标 Redis 实例,获取指定前缀的键并逐个迁移。这种方法的优点是灵活,但不适用于大规模数据迁移,因为它使用...

    codis/redis 迁移redis cluster工具

    同样,它也支持从Redis迁移到Codis,以及在Redis实例之间进行迁移,这些功能使得数据管理更具灵活性。值得一提的是,该工具还支持增量同步数据,意味着在迁移过程中,新产生的数据也可以被实时同步到目标系统,确保...

    redis数据迁移

    随着业务的发展,单一Redis实例可能无法满足高可用性、可扩展性的需求,这时就需要进行数据迁移,将Redis单机模式升级到哨兵(Sentinel)集群或Redis Cluster。本文将详细探讨如何进行Redis数据迁移,特别是从单机迁移...

    memcached数据完整迁移到redis

    标题 "memcached数据完整迁移到redis" 描述的是一个数据迁移的过程,从使用 memcached 存储的数据转换到使用 redis 存储。这个过程在 IT 领域中是常见的,因为不同的缓存系统有不同的特性和优势。让我们深入探讨这个...

    redis在线迁移工具

    redis-migrate-tool-master, redis-full-check 工具促使redis不停机在线迁移方案,完整的步骤配置详情。

    redis 指定库数据迁移 php5.6版本

    迁移数据的过程通常包括读取源数据库中的键值对,然后在目标数据库中创建相同的键值对。对于不同数据类型的键,处理方式略有差异: 1. **字符串(String)**:使用`GET`获取键的值,然后用`SET`设置在目标数据库。 `...

    Redis迁移工具-RedisShake

    4. **跨配置迁移**:RedisShake允许用户在具有不同配置的Redis实例之间迁移数据,例如不同的数据库数量、不同的过期策略等。 5. **高性能与稳定性**:RedisShake优化了数据迁移过程,实现了高吞吐量和低延迟,同时...

    Go-redis-migrate用于不同的redis集群数据的迁移

    Go-redis-migrate工具正是为了解决这个问题而设计的,它允许用户在不同的Redis集群之间平滑、高效地迁移数据。本文将深入探讨Go-redis-migrate的工作原理、使用方法以及其在Go开发中的应用。 Go-redis-migrate是一...

    Redis migrate数据迁移工具的使用教程

    为了方便研发自己迁移数据,我这里写了一个简单的Redis迁移工具,希望对有需要的人有用。 本工具支持: 单点Redis到单点Redis迁移 单点Redis到Redis集群迁移 Redis集群到Redis集群迁移 Redis集群到单点Redis迁移 ...

    redis2json:以JSON格式导出Redis数据

    用途您可以通过gzip通过管道传输输出并将其发送到文件,以进行快速的非redis数据备份或导出/迁移到另一个系统。 例如: ./redis_to_json.py | gzip > redis_backup.json.gz这对于您正在使用但又不想丢失数据的应用...

    Nodejs实现redis数据Json格式的导出

    在本文中,我们将深入探讨如何使用Node.js与Redis数据库交互,并特别关注如何将Redis中的数据导出为JSON格式。Node.js是一种流行的JavaScript运行环境,它允许...这样的工具对于备份、迁移或者分析Redis数据非常有用。

    RedisSyncer是一个多任务的redis数据同步工具,可灵活的满足Redis间的数据同步、迁移需求

    redis 数据校验工具 redissycner-compare 基于docker-compse的一体化部署方案 redissyncer 功能列表 单节点、多节点在线同步 指定db库数据映射 批量RDB文件并行导入 批量AOF文件并行导入 批量MIX混合文件导入 增量...

    用于redis集群的数据迁移。.zip

    该项目可能包含了一个完整的源代码实现,允许用户在不同的Redis集群之间安全、有效地迁移数据。 描述中的“用到go开发的项目源码、数据集”表明这个压缩包内含有项目的源代码,这可能是为了方便开发者理解和修改...

    windows下redis桌面数据访问工具redis_desk_manager

    4. **数据导入与导出**:支持从文件导入数据到Redis,或将Redis中的数据导出为文件,这对于数据迁移和备份非常有用。 5. **监控与日志**:提供实时的性能监控,如内存使用情况、命令执行频率等,以及可能的日志查看...

    Redis-shake 数据迁移工具

    RedisShake 是一个用于处理和迁移 Redis 数据的工具,它提供以下特性: Redis 兼容性:RedisShake 兼容从 2.8 到 7.2 的 Redis 版本,并支持各种部署方式,包括单机,主从,哨兵和集群。 云服务兼容性:RedisShake ...

    redis导入到处数据备份

    在Java开发中,对Redis进行数据导入和导出是常见的需求,这有助于数据备份、迁移或在多个环境间同步数据。本文将深入探讨如何使用Java实现Redis的数据导入与导出,以及相关的注意事项。 1. **Redis的数据导入** ...

Global site tag (gtag.js) - Google Analytics