赞
踩
使用Redis的管道传输功能,可以将RDS for MySQL或本地MySQL的数据快速迁移到Redis中。使用其它引擎的RDS数据库也可以参照本文的方法将数据迁移到Redis中。
场景介绍
在应用与数据库之间使用Redis作为缓存层,扩展传统关系型数据库的服务能力,从而优化业务的生态体系,是Redis的经典应用场景之一。将业务中的热数据保存到Redis,用户通过应用直接从Redis中快速获取常用数据,或者在交互式应用中使用Redis保存活跃用户的会话,都可以极大地降低后端关系型数据库的负载,提升用户体验。
使用Redis作为缓存首先需要将关系型数据库中的数据传输到Redis中。关系型数据库中库表结构的数据无法直接传入以键值结构保存数据的Redis数据库,迁移前需要将源端数据转换为特定的结构。这篇最佳实践以MySQL向Redis整表迁移为例,介绍如何通过原生工具进行简单高效地迁移。MySQL的表数据将通过Redis Pipeline传输并保存到Redis Hash中。
说明 本文使用阿里云RDS for MySQL实例和云数据库Redis版实例作为迁移的源端和目的端,运行迁移命令的Linux环境安装在ECS实例中。三者同在一个VPC,因此可以互通。
您可以用类似的方法将其它关系型数据库中的数据迁移到Redis中。这种从源端数据库提取数据,转换格式后传入异构数据库中的方式也适用于其它异构数据库之间的数据迁移。
前提条件
已创建作为源端的RDS for MySQL实例且其中已存在可供迁移的表数据。
已创建作为目的端的云数据库Redis版实例。
已创建Linux系统的ECS实例。
以上三个实例在同一地域的同一VPC中。
RDS for MySQL和Redis实例的白名单中已经放通了ECS实例的内网地址。
ECS中已安装了MySQL和Redis,用于进行数据的提取、转换和传输。
说明 以上前提条件仅在您
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。