業務場景:
項目里需要頻繁的查詢mysql導致mysql的壓力太大,此時考慮從內存型數據庫redis里查詢,但是管理平台里會較為頻繁的修改增加mysql里的數據
問題來了:
如何才能保證mysql的數據實時同步到redis里呢.
問題解決方案:
經過學習調研發現了一款阿里開源的框架canal, 底層大致就模擬成mysql的salve,監聽binlog,並通過網絡傳輸, 交由客戶端消費處理
具體學習可以參考官方文檔 :
https://github.com/alibaba/canal
我的成品:
在gitee和github搜索''canal整合springboot實現mysql數據實時同步到redis" 無果后, 我決定自己手寫一套canal實時同步數據源的通用框架.
這樣用了我的框架只需要注重於業務代碼的實現,並把幾個業務組件組裝一下即可實現程序的運行,大大提高了開發效率.
我的代碼里還是實現了同步mysql一張或者多張表的數據到redis里
具體的代碼地址:
gitee:
https://gitee.com/maowei1996/canal-data-sync
github:
https://github.com/maowei0427/canal-data-sync
如果對你能夠有所幫助, 勞煩動動你勤勞的小手給我一個star哦