配置文件
spring:redis:host: localhostport: 6379password: 123123database: 8lettuce:pool:maxActive: 8maxIdle: 100minIdle: 10maxWait: -1---canal:server: 192.168.2.130:11111destination: redis #可设置*个,逗号隔开 , 对应需要创建*文件夹,且文件夹下有instance.properties文件数据模型
public class Users {private Integer id ;private String name ;private Integer age ;@Overridepublic String toString() {return "Users [id=" + id + ", name=" + name + ", age=" + age + "]";}}具体服务组件
@Component@CanalTable(value = https://www.isolves.com/it/cxkf/jiagou/2023-09-26/"users")public class UserServiceImpl implements EntryHandler {private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);private final StringRedisTemplate stringRedisTemplate ;public UserServiceImpl(StringRedisTemplate stringRedisTemplate) {this.stringRedisTemplate = stringRedisTemplate ;}@Overridepublic void insert(Users user) {logger.info("新增数据为{}", user);try {this.stringRedisTemplate.opsForValue().set("users:" + user.getId(), new ObjectMApper().writeValueAsString(user)) ;} catch (JsonProcessingException e) {e.printStackTrace();}}@Overridepublic void update(Users before, Users after) {logger.info("原来数据为{}", before);logger.info("更新数据为{}", after);try {this.stringRedisTemplate.opsForValue().set("users:" + after.getId(), new ObjectMapper().writeValueAsString(after)) ;} catch (JsonProcessingException e) {e.printStackTrace();}}@Overridepublic void delete(Users user) {logger.info("删除的数据为{}", user);this.stringRedisTemplate.delete("users:" + user.getId()) ;}}以上通过增,删 , 改数据就能同步到Redis中了 。
【在SpringBoot中通过Canal实现MySQL与Redis的数据同步】
推荐阅读
-
-
-
-
疫情|雅诗兰黛也撑不住了?!巨亏30多亿元,市值蒸发359亿元!计划关闭15%门店……
-
万娜|花椒直播闪耀新星二期四强诞生,才艺百变神技频出明星评委看呆
-
-
飞机越小越简单?某型号试飞坠机 背后又有什么原因呢
-
-
|中国最厉害的山,全年游客数量过百万,你去过了吗?
-
-
央视新闻客户端|美国众议院举行疫情听证会 福奇:美国防控疫情比欧洲国家差很多
-
-
-
-
-
-
-
杨贵妃|看看过去的古装美人,就知道为啥现在的古偶都扑街了
-
67岁王丽云,深夜悲痛发文: 好孩子你没有离开,你活在我们的心里
-
公告|商务部: 终止对原产于新加坡、马来西亚和日本的进口甲硫氨酸反倾销调查