etl engine 实现 redis与mysql之间的数据同步
Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,
因其读取速度快、也可用于消息队列使用等场景,已经成为项目中不可缺少的一部分。
本案例是通过etl engine实现redis与mysql之间的数据同步。
需求
读redis写mysql; 读mysql写redis
前置条件
事先准备一个可读写redis服务器;一个可读写mysql服务器;
读redis的key写到mysql的t_redis_info表;读mysql的t_redis_info表记录写到redis
- MySQL模拟数据
CREATE TABLE t_redis_info (
id VARCHAR(32) NOT NULL,
caption VARCHAR(50),
tag VARCHAR(50),
memo VARCHAR(100),
writetime VARCHAR(19),
PRIMARY KEY (id)
);
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('1','herbin_beer_550','啤酒','哈尔滨雪花550ML','2023-01-01 11:12:13');
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('2','qingdao_beer_550','啤酒','青岛纯生550ML','2023-01-02 01:02:03');
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('3','qingdao_beer_330','啤酒','青岛干啤330ML','2023-02-03 01:02:03');
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('4','herbin_beer_330','啤酒','哈尔滨勇闯天涯330ML','2023-02-03 01:02:03');
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('5','budweiser_beer_330','啤酒','美国百威330ML','2023-03-04 01:02:03');
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('6','wahaha_water_600','纯净水','娃哈哈600ML','2023-03-04 01:02:03');
INSERT INTO t_redis_info(id,caption,tag,memo,writetime) VALUES ('7','nongfushanquan_water_600','纯净水','农夫山泉600ML','2023-03-05 01:02:03');
配置模型图
配置文件内容
<?xml version="1.0" encoding="UTF-8"?>
<Graph runMode="1">
<Node id="DB_I