Redis数据迁移的4种方法

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis数据迁移的4种方法

方法一:离线迁移

通过RDB或者aof文件
RDB:
   目的库必须开启才能用
步骤:
    1.源库 执行  BGSAVE 
    2.copy 源库的.rdb文件至目标库
    3.重启目标库
AOF:
   源库和目的库必须都开启才能用
步骤:
    1.将源库的aof文件拷贝到目标库的数据目录中
   (两种方法)
    1.redis-cli  -p 6380  --pipe < ./appendonly.aof 
    2.重启
建议采用RDB

方法二:

单库–>单库

脚本,性能差,不建议使用

#coding=utf-8
import redis
redis_from = redis.StrictRedis(host='127.0.0.1', port=6379, db=10)
redis_to = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
if __name__ == '__main__':
    cnt = 0
    for k in redis_from.keys():
        data_type = redis_from.type(k)
        if data_type == 'string':
            v = redis_from.get(k)
            redis_to.set(k, v)
        elif data_type == 'list':
            values = redis_from.lrange(k, 0, -1)
            redis_to.lpush(k, values)
        elif data_type == 'set':
            values = redis_from.smembers(k)
            redis_to.sadd(k, values)
        elif data_type == 'hash':
            keys = redis_from.hkeys(k)
            for key in keys:
                value = redis_from.hget(k, key)
                redis_to.hset(k, key, value)
        else:
            print 'not known type'
        cnt = cnt + 1
    print 'total', cnt

方法三:

阿里开源redis-shake工具

解析、恢复、备份、同步

参考另一篇文章:

blog.csdn.net/qq_34874784/article/details/110822231


方法四:

主从同步迁移

步骤:

    1.redis-cli 进入客户端
    2.连接主     
    >  slaveof ip port   
    3.info查看是否复制成功
    4.断开主   
    > slavof no one
    相关实践学习
    基于Redis实现在线游戏积分排行榜
    本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
    云数据库 Redis 版使用教程
    云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
    目录
    相关文章
    |
    6月前
    |
    存储 缓存 NoSQL
    利用Redis List实现数据库分页快速查询的有效方法
    利用Redis List实现数据库分页快速查询的有效方法
    |
    6月前
    |
    设计模式 NoSQL Java
    常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
    常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
    |
    3月前
    |
    NoSQL Ubuntu 安全
    在Ubuntu 18.04上安装和保护Redis的方法
    在Ubuntu 18.04上安装和保护Redis的方法
    93 0
    |
    18天前
    |
    存储 缓存 监控
    利用 Redis 缓存特性避免缓存穿透的策略与方法
    【10月更文挑战第23天】通过以上对利用 Redis 缓存特性避免缓存穿透的详细阐述,我们对这一策略有了更深入的理解。在实际应用中,我们需要根据具体情况灵活运用这些方法,并结合其他技术手段,共同保障系统的稳定和高效运行。同时,要不断关注 Redis 缓存特性的发展和变化,及时调整策略,以应对不断出现的新挑战。
    52 10
    |
    18天前
    |
    缓存 监控 NoSQL
    Redis 缓存穿透的检测方法与分析
    【10月更文挑战第23天】通过以上对 Redis 缓存穿透检测方法的深入探讨,我们对如何及时发现和处理这一问题有了更全面的认识。在实际应用中,我们需要综合运用多种检测手段,并结合业务场景和实际情况进行分析,以确保能够准确、及时地检测到缓存穿透现象,并采取有效的措施加以解决。同时,要不断优化和改进检测方法,提高检测的准确性和效率,为系统的稳定运行提供有力保障。
    47 5
    |
    1月前
    |
    缓存 NoSQL 算法
    解决Redis缓存雪崩问题的有效方法
    解决Redis缓存雪崩问题的有效方法
    42 1
    |
    2月前
    |
    存储 缓存 NoSQL
    解决Redis缓存击穿问题的技术方法
    解决Redis缓存击穿问题的技术方法
    68 2
    |
    2月前
    |
    缓存 NoSQL Redis
    解决 Redis 缓存穿透问题的有效方法
    解决 Redis 缓存穿透问题的有效方法
    52 2
    |
    2月前
    |
    NoSQL 安全 Java
    解决Unknown redis exception及event executor terminated错误的方法
    解决这类问题时,保持耐心和细致是关键。通常,通过系统地检查和排除潜在原因,大多数问题最终都能被解决。
    405 1
    |
    6月前
    |
    NoSQL Redis Docker
    Docker中Redis数据迁移到本地
    Docker中Redis数据迁移到本地
    169 1