婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺談MySQL與redis緩存的同步方案

淺談MySQL與redis緩存的同步方案

熱門標簽:百應電話機器人優勢 啥是企業400電話辦理 曲靖移動外呼系統公司 電話外呼系統改號 怎樣在地圖標注銷售區域 外呼系統打電話上限是多少 地圖標注費用是多少 武漢網絡外呼系統服務商 南昌三維地圖標注

本文介紹MySQL與Redis緩存的同步的兩種方案

  • 方案1:通過MySQL自動同步刷新Redis,MySQL觸發器+UDF函數實現
  • 方案2:解析MySQL的binlog實現,將數據庫中的數據同步到Redis

一、方案1(UDF)

場景分析:當我們對MySQL數據庫進行數據操作時,同時將相應的數據同步到Redis中,同步到Redis之后,查詢的操作就從Redis中查找

過程大致如下:

在MySQL中對要操作的數據設置觸發器Trigger,監聽操作

客戶端(NodeServer)向MySQL中寫入數據時,觸發器會被觸發,觸發之后調用MySQL的UDF函數

UDF函數可以把數據寫入到Redis中,從而達到同步的效果

方案分析:

  • 這種方案適合于讀多寫少,并且不存并發寫的場景
  • 因為MySQL觸發器本身就會造成效率的降低,如果一個表經常被操作,這種方案顯示是不合適的

演示案例

下面是MySQL的表

下面是UDF的解析代碼

定義對應的觸發器

二、方案2(解析binlog)

在介紹方案2之前我們先來介紹一下MySQL復制的原理,如下圖所示:

  • 主服務器操作數據,并將數據寫入Bin log
  • 從服務器調用I/O線程讀取主服務器的Bin log,并且寫入到自己的Relay log中,再調用SQL線程從Relay log中解析數據,從而同步到自己的數據庫中

方案2就是:

  • 上面MySQL的整個復制流程可以總結為一句話,那就是:從服務器讀取主服務器Bin log中的數據,從而同步到自己的數據庫中
  • 我們方案2也是如此,就是在概念上把主服務器改為MySQL,把從服務器改為Redis而已(如下圖所示),當MySQL中有數據寫入時,我們就解析MySQL的Bin log,然后將解析出來的數據寫入到Redis中,從而達到同步的效果

例如下面是一個云數據庫實例分析:

云數據庫與本地數據庫是主從關系。云數據庫作為主數據庫主要提供寫,本地數據庫作為從數據庫從主數據庫中讀取數據

本地數據庫讀取到數據之后,解析Bin log,然后將數據寫入寫入同步到Redis中,然后客戶端從Redis讀數據

這個技術方案的難點就在于:如何解析MySQL的Bin Log。但是這需要對binlog文件以及MySQL有非常深入的理解,同時由于binlog存在Statement/Row/Mixedlevel多種形式,分析binlog實現同步的工作量是非常大的

Canal開源技術

canal是阿里巴巴旗下的一款開源項目,純Java開發。基于數據庫增量日志解析,提供增量數據訂閱消費,目前主要支持了MySQL(也支持mariaDB)

開源參考地址有:https://github.com/liukelin/canal_mysql_nosql_sync

工作原理(模仿MySQL復制):

  •  canal模擬mysql slave的交互協議,偽裝自己為mysql slave,向mysql master發送dump協議
  • mysql master收到dump請求,開始推送binary log給slave(也就是canal)
  • canal解析binary log對象(原始為byte流)

架構:

server代表一個canal運行實例,對應于一個jvm

instance對應于一個數據隊列 (1個server對應1..n個instance)

instance模塊:

  •  eventParser (數據源接入,模擬slave協議和master進行交互,協議解析)
  • eventSink (Parser和Store鏈接器,進行數據過濾,加工,分發的工作)
  • eventStore (數據存儲)
  • metaManager (增量訂閱消費信息管理器)

大致的解析過程如下:

  • parse解析MySQL的Bin log,然后將數據放入到sink中
  • sink對數據進行過濾,加工,分發
  • store從sink中讀取解析好的數據存儲起來
  • 然后自己用設計代碼將store中的數據同步寫入Redis中就可以了
  • 其中parse/sink是框架封裝好的,我們做的是store的數據讀取那一步

更多關于Cancl可以百度搜索

下面是運行拓撲圖

MySQL表的同步,采用責任鏈模式,每張表對應一個Filter。例如zvsync中要用到的類設計如下:

下面是具體化的zvsync中要用到的類,每當新增或者刪除表時,直接進行增刪就可以了

三、附加

本文上面所介紹的都是從MySQL中同步到緩存中。但是在實際開發中可能有人會用下面的方案:

  • 客戶端有數據來了之后,先將其保存到Redis中,然后再同步到MySQL中
  • 這種方案本身也是不安全/不可靠的,因此如果Redis存在短暫的宕機或失效,那么會丟失數據

到此這篇關于淺談MySQL與redis緩存的同步方案的文章就介紹到這了,更多相關MySQL與redis緩存同步內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Java手動實現Redis的LRU緩存機制
  • 淺談redis緩存在項目中的使用
  • 詳解redis緩存與數據庫一致性問題解決
  • 手動實現Redis的LRU緩存機制示例詳解
  • 使用 Redis 緩存實現點贊和取消點贊的示例代碼
  • 詳解Redis 緩存刪除機制(源碼解析)
  • Redis 緩存實現存儲和讀取歷史搜索關鍵字的操作方法
  • SpringCache 分布式緩存的實現方法(規避redis解鎖的問題)
  • 詳解緩存穿透擊穿雪崩解決方案

標簽:黑河 滄州 吉林 隨州 錦州 甘南 荊州 資陽

巨人網絡通訊聲明:本文標題《淺談MySQL與redis緩存的同步方案》,本文關鍵詞  淺談,MySQL,與,redis,緩存,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談MySQL與redis緩存的同步方案》相關的同類信息!
  • 本頁收集關于淺談MySQL與redis緩存的同步方案的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜欧美2019年伦理| 欧美在线免费播放| 亚洲丝袜制服诱惑| 日本一区二区久久| 国产精品嫩草影院com| 国产精品久久久一本精品| 26uuu亚洲综合色| 久久天天做天天爱综合色| 亚洲一区二区三区小说| 日日夜夜免费精品| 成+人+亚洲+综合天堂| 色哦色哦哦色天天综合| 国产精品国产自产拍高清av| 一区二区国产视频| 99国产精品久| 亚洲欧洲美洲综合色网| 精品一区二区国语对白| 久久久久久久av麻豆果冻| 国产精品自在欧美一区| 久久亚洲免费视频| 日韩va亚洲va欧美va久久| 欧美日韩三级在线| 日本不卡一区二区三区高清视频| 欧美日韩国产首页| 亚洲国产人成综合网站| 欧美性色黄大片| 免费观看一级特黄欧美大片| 日韩精品一区二区三区视频| 久久99久久99精品免视看婷婷| 欧美一级日韩不卡播放免费| 久久99久久99| 一区二区三区四区蜜桃| 日韩一级高清毛片| 国产精品一区一区三区| 亚洲一区二区免费视频| 激情综合网激情| 欧美精品一区二区在线播放| 日韩国产欧美视频| 制服丝袜中文字幕亚洲| 欧美xxxxx牲另类人与| 国产精品1024| 亚洲成人一区在线| 国产性天天综合网| aaa欧美日韩| 韩国女主播一区二区三区| 亚洲精品国产成人久久av盗摄 | 亚洲色图制服丝袜| 日韩欧美亚洲一区二区| 91在线国产观看| 日本aⅴ亚洲精品中文乱码| 色综合久久天天综合网| 韩国理伦片一区二区三区在线播放| 日韩三级中文字幕| 在线欧美日韩精品| 风间由美一区二区av101| 国内精品伊人久久久久影院对白| 亚洲午夜久久久久久久久电影网 | 久久国产精品99久久久久久老狼 | 久久精品国产久精国产爱| 亚洲欧美自拍偷拍| 欧美国产视频在线| 精品裸体舞一区二区三区| 欧美一区二区美女| 欧美性大战久久久久久久| 国产成人av电影在线| 成人综合激情网| 成人av在线网| 欧美视频一区二区在线观看| 国产日本亚洲高清| 久久久久国色av免费看影院| 久久精品一区蜜桃臀影院| 国产精品国产三级国产a| 欧美一区二区私人影院日本| 日韩欧美在线1卡| 久久综合一区二区| 国产精品久久久久天堂| 一区二区三区久久久| 一区二区成人在线| 捆绑调教一区二区三区| www.色精品| 日韩美女视频一区二区在线观看| 亚洲一区二区欧美| 欧美图片一区二区三区| 91浏览器在线视频| 国产毛片精品视频| 色婷婷精品久久二区二区蜜臂av| 欧美剧情片在线观看| 欧日韩精品视频| 337p日本欧洲亚洲大胆色噜噜| 精品卡一卡二卡三卡四在线| 99综合电影在线视频| 26uuu色噜噜精品一区二区| 亚洲欧洲综合另类| 青草国产精品久久久久久| 亚洲欧美在线aaa| 26uuu国产电影一区二区| 99国产精品久久久久久久久久久| 色婷婷av一区二区三区gif| 亚洲免费观看高清在线观看| 国产精品欧美经典| 国产精品久久久久四虎| 欧美极品另类videosde| 亚洲国产精品一区二区www在线| 五月天亚洲婷婷| 国产麻豆精品在线| 9色porny自拍视频一区二区| 暴力调教一区二区三区| 欧洲国内综合视频| 日韩精品一区二区三区swag| 337p日本欧洲亚洲大胆精品| 国产欧美日本一区视频| 亚洲一区在线电影| www.久久久久久久久| 国精产品一区一区三区mba桃花| 欧美在线一区二区三区| 99久久国产综合精品色伊| 欧美日韩aaa| 亚洲国产一区视频| 91天堂素人约啪| 在线中文字幕不卡| 国产精品麻豆网站| 亚洲成人在线网站| 亚洲成人综合视频| 亚洲一区二区三区国产| 综合久久综合久久| 国产精品久久久久7777按摩| 欧美一级搡bbbb搡bbbb| 欧美视频在线观看一区| 日韩欧美卡一卡二| 成人av网站免费观看| 日韩影院在线观看| 一本色道久久综合狠狠躁的推荐| 欧美一级高清片| 国产精品麻豆欧美日韩ww| 日韩精品福利网| 久久免费看少妇高潮| 亚洲三级在线看| 精品一区二区久久| 欧美顶级少妇做爰| 一区二区三区.www| 欧美国产在线观看| 欧美久久一区二区| 欧美伊人久久久久久午夜久久久久| 精品国产一区二区在线观看| 国产精品一二三四五| 国产亚洲精品7777| 国产资源精品在线观看| 狠狠色综合日日| 欧美激情综合五月色丁香| 亚洲一级二级三级| 国产精品福利一区| 国产精品九色蝌蚪自拍| 免费在线看一区| 欧美高清精品3d| 国产精品伦理一区二区| 国产精品入口麻豆九色| 99久久久免费精品国产一区二区| 成人久久视频在线观看| 精品99999| 国产一区二区三区免费在线观看| 日韩av一区二区在线影视| 丝袜美腿亚洲综合| 91精品婷婷国产综合久久竹菊| 国产一区二区精品在线观看| 亚洲自拍偷拍综合| 国产精品萝li| 日本va欧美va精品发布| 欧美美女喷水视频| 中文字幕一区二区三区在线观看 | 欧美成人一级视频| 国产嫩草影院久久久久| 欧美视频中文一区二区三区在线观看| 1024成人网| 日韩欧美色综合网站| 欧美亚洲一区二区三区四区| 久久久久88色偷偷免费| 婷婷一区二区三区| 成人av网站在线观看| 国产精品久久久久aaaa樱花| 日韩欧美国产一二三区| 亚洲三级免费观看| 久久黄色级2电影| 国产91丝袜在线18| 欧美肥妇free| 精品久久久久av影院| 亚洲精品一区二区精华| 中文字幕精品一区| 欧美精品电影在线播放| 日本一区二区三区久久久久久久久不| 日日夜夜一区二区| 午夜精品福利一区二区三区av| 日韩av一区二区三区| 国产美女视频一区| 色哟哟国产精品| 91色porny在线视频| 亚洲午夜精品一区二区三区他趣| 欧美sm美女调教| 日韩一区二区电影网| 国产精品污网站| 国产亚洲综合在线|