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
推荐阅读
-
社交平台|韩国模特Yeonluv:天使的容颜,高挑的身姿
-
#棒棒堂#38岁敖犬《天天向上》秀唱跳宝刀未老,棒棒堂成员如今都怎样了?
-
吃记肠胃不好胃不舒服?多吃这3种食物,医生都不愿告诉你的小秘密
-
姐姐|这6种零食,吃过一半的我叫你姐姐,全吃过的孩子能打酱油了
-
新安江水库|下游民众疯狂捞鱼,新安江水库泄洪“飞鱼”满天
-
-
巴菲特|点醒1.8亿散户: 不是钱越来越难赚,而是赚钱的逻辑彻底变了
-
东哥解读电商东哥独家丨天猫同城业务与战略升级:张勇指示下的9月大动作
-
广西首例高空抛物罪案件宣判!男子从20楼抛下家具,获刑六个月
-
瑞识科技发布行业领先3D dToF VCSEL,光功率提升3倍
-
科学家|距地球200亿公里的旅行者2号,都发现了什么?它现在到了何处?
-
大观军事|回顾中国民航8265号机1975年塘坝空难,漠视规章敷衍了事
-
-
-
-
-
「篮球大陆」已向银行贷款2.5亿美金,快撑不住了!曝火箭队老板面临破产
-
大男子主义的男人对情人怎么样-大男子主义的男人择偶-_1
-
脑极体▲你还敢信任强化学习吗?,当AI开始“踢脏球”
-
买车|买车尽量避开这三个合资品牌,否则可能“后悔莫及”!