columns, String tableName, String schemaName) {if ("stock".equals(tableName) && "m4a_miaosha".equals(schemaName)) {AtomicInteger id = new AtomicInteger();columns.forEach((column) -> {String columnName = column.getName();String columnValue = column.getValue();if ("id".equals(columnName)) {id.set(Integer.parseInt(columnValue));}});// TODO: 删除缓存LOGGER.info("Canal删除stock表id:[{}] 的库存缓存", id);}}}代码中有详细的注释,就不做解释了 。
我们跑起代码,紧接着我们在数据库中进行更改UPDATE操作,把法外狂徒张三改成张三1,然后再改回张三,见下图 。

文章插图
Canal成功收到了两条更新操作:

文章插图
紧接着我们模拟一个删除Cache缓存的业务,在代码中有:
/** * 秒杀下单接口删除库存缓存 */public static void deleteCache(List<Column> columns, String tableName, String schemaName) {if ("stock".equals(tableName) && "m4a_miaosha".equals(schemaName)) {AtomicInteger id = new AtomicInteger();columns.forEach((column) -> {String columnName = column.getName();String columnValue = https://www.isolves.com/it/sjk/MYSQL/2020-06-12/column.getValue();if ("id".equals(columnName)) {id.set(Integer.parseInt(columnValue));}});// TODO: 删除缓存LOGGER.info("Canal删除stock表id:[{}] 的库存缓存", id);}}「在上面的代码中,在收到m4a_miaosha.stock表的更新操作后,我们刷新库存缓存 。效果如下:」

文章插图

文章插图
简单的Canal使用就介绍到这里,剩下的发挥空间留给各位读者大大们 。
总结本文总结了Canal的基本原理和简单的使用 。
「总结如下几点:」
- Canal实际是将自己伪装成数据库的从库,来读取主数据库发来的Binlog 。
- Canal用途很广,比如数据库实时备份、索引构建和实时维护(拆分异构索引、倒排索引等)、业务 cache 缓存刷新 。
- Canal可以推送至非常多数据源,并支持推送到消息队列,方便多语言使用 。
「希望大家多多支持我的原创技术文章公众号:后端技术漫谈,我最全的原创文章都在这里首发 。」
参考 - https://blog.csdn.net/l1028386804/article/details/81208362
- https://github.com/alibaba/canal/wiki/QuickStart
- https://youzhixueyuan.com/database-master-slave-synchronization.html
- https://www.jianshu.com/p/790a158d9eb3
- https://blog.csdn.net/xihuanyuye/article/details/81220524
- https://www.cnblogs.com/ivictor/p/5735580.html
推荐阅读
-
新华社新闻国际时评|瑞典对中国企业封杀令违背公平竞争原则
-
-
-
-
甜甜儿smile|街拍:简约风白T恤配牛仔裤,腰线处精心小设计,秀出迷人好身材
-
小女子中秋准备日本自由行,去九州玩几天,求推荐性价比比较高的路线呀
-
人民日报中央厨房|新知|一秒有多长?你以为的“一瞬间”有多快?
-
#青2#《青2》9位成员已定团,其中5人同登热搜!她是最后的希望吗?
-
核武器|俄副外长:俄美军控会谈应当把重点放在核武器载具上
-
#德州#德州新增英国输入确诊病例详情公布:为23岁东营籍男子
-
李斯丹妮|《乘风破浪的姐姐》成团名单出炉!宁静霸气喊话拿第一不想成团
-
运营方|剑与远征9月最新兑换码是什么 《剑与远征》2020有效兑换码一览(亲测有效)
-
中国商报|双标之争剧情再上演, “红牛大战”仍未结束
-
深扒娱乐圈圈▲这辆曾经售价80万元的豪华车价格降到了22万元。为什么它仍然被忽视?
-
-
逗得掉渣渣|还有何求...,搞笑gif段子:有这样的媳妇
-
-
山西省平遥县人民医院|——突发意识不清,颅脑手术危重症患者保平安!,90岁耄耋老人能否闯过这一关?
-
-
爱玩游戏的跳跳|变成“灵活的胖子”,比猪八戒还厉害,王者荣耀:苏烈重磅加强