亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

redis的作用

一般情況下Redis是用來實(shí)現(xiàn)應(yīng)用和數(shù)據(jù)庫之間的一個(gè)讀操作的緩存層,主要目的是減少數(shù)據(jù)庫的io,還可以提升數(shù)據(jù)庫io性能

方法一:

先更新MySQL數(shù)據(jù)庫,再刪除緩存,再從數(shù)據(jù)庫查詢到的最新的數(shù)據(jù)同步到redis。采用最終一致性性策略。

缺點(diǎn):相較于mq的方式,這種方式由于要查數(shù)據(jù)庫并將最新數(shù)據(jù)寫到redis,可能會(huì)造成接口響應(yīng)速度變慢。

方法二:

更新mysql數(shù)據(jù)庫,再采用mq異步的方式,將數(shù)據(jù)同步到redis中。

缺點(diǎn):數(shù)據(jù)同步延時(shí)概率比較大,數(shù)據(jù)庫的更改信息投遞到mq中,消費(fèi)者可能沒來得及消費(fèi)消息同步數(shù)據(jù)到redis。

優(yōu)點(diǎn):異步解耦

方法三:

基于訂閱mysql binlog,采用mq異步的形式將數(shù)據(jù)同步到redis(canal框架)。

將mysql以主從的方式部署,主庫負(fù)責(zé)寫,從庫負(fù)責(zé)讀,當(dāng)主庫的binlog日志文件發(fā)生改變時(shí),將信息同步到從庫,從庫執(zhí)行對(duì)應(yīng)的sql,保證主從一致性。

canalServer端,偽裝成mysql的從節(jié)點(diǎn),訂閱mysql主節(jié)點(diǎn)的binlog文件,當(dāng)主節(jié)點(diǎn)的binlog發(fā)生變化時(shí),會(huì)將binlog日志文件發(fā)送給canalServer端,自己創(chuàng)建的處理程序連接到canalServer端,將數(shù)據(jù)同步到redis。

優(yōu)點(diǎn):手動(dòng)直接更改數(shù)據(jù)庫也會(huì)自動(dòng)同步到redis。

方法四:

延時(shí)雙刪策略(不推薦)

  • 先刪緩存,在更新mysql并同步到redis,在高并發(fā)的情況下,第一個(gè)線程還沒來得及更新mysql時(shí),其他線程讀取到的緩存可能為null值,將mysql舊的數(shù)據(jù)同步到redis中了。

解決辦法:延時(shí)刪除,在t1線程更新數(shù)據(jù)庫之后,sleep一段時(shí)間再去刪除緩存。

缺點(diǎn):t1線程延時(shí)多少秒再去刪除緩存中的key?難以控制,得根據(jù)業(yè)務(wù)邏輯的執(zhí)行時(shí)間和寫緩存的時(shí)間來進(jìn)行估算。

補(bǔ)充:什么是雙寫一致性協(xié)議?

先更新數(shù)據(jù)庫,在更新緩存。

updateDB();
updateredis();

多個(gè)線程同步修改mysql和redis時(shí),由于mysql行鎖機(jī)制,多個(gè)線程同時(shí)修改同一行數(shù)據(jù),只能有一個(gè)線程修改成功,兩個(gè)線程更新完數(shù)據(jù)庫后同時(shí)更新redis,由于不能確保兩個(gè)線程更新緩存的先后順序,可能會(huì)造成數(shù)據(jù)庫和緩存的不一致性。

解決辦法:使用事務(wù)保證更新數(shù)據(jù)庫和更新緩存整個(gè)兩個(gè)操作的原子性。

分享到:
標(biāo)簽:MySQL
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定