第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

redis緩存如何做到與數(shù)據(jù)庫數(shù)據(jù)一致阿?

redis緩存如何做到與數(shù)據(jù)庫數(shù)據(jù)一致阿?

撒科打諢 2018-08-20 14:13:43
假設(shè)數(shù)據(jù)庫有一個(gè)user表,存入redis的鍵為users,值為Map<id,user>。如果不設(shè)置鍵的過期時(shí)間還可以做到。但是設(shè)置了鍵的過期時(shí)間后,當(dāng)這個(gè)鍵過期了,從新把數(shù)據(jù)讀到Map<id,user>中,如果這時(shí)候只讀了一個(gè)user,比如{id=1,name=張三,mark=90},因?yàn)閿?shù)據(jù)還沒讀取完,我們還沒把這個(gè)map放入redis。恰好這時(shí)有人修改了張三的數(shù)據(jù),把mark修改成90,修改的代碼邏輯是先把數(shù)據(jù)庫的張三mark修改為90,然后去redis修改users對(duì)應(yīng)的map的張三的數(shù)據(jù),但是redis中現(xiàn)在還沒有users這個(gè)鍵。所以最后造成的結(jié)果是--->數(shù)據(jù)庫中:張三的mark為90 。 redis中:張三的mark為100。這種不一致的情況該怎么解決呢?
查看完整描述

1 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

你往極限處想,只要是在兩個(gè)地方的數(shù)據(jù),就沒有辦法保證時(shí)時(shí)相同,光也是有速度的。

不要想著用緩存的優(yōu)點(diǎn)(優(yōu)點(diǎn)是啥?)

又沒有緩存的缺點(diǎn)?(缺點(diǎn)是在系統(tǒng)中可以忽略或者無所謂或者可以忍受的)。

緩存是用來保存不常變動(dòng)的數(shù)據(jù),用以減輕數(shù)據(jù)庫負(fù)擔(dān),如果你一直檢查,一直更新的話,數(shù)據(jù)庫負(fù)擔(dān)一點(diǎn)都沒有減輕,甚至更高了,你還要緩存作甚?


查看完整回答
反對(duì) 回復(fù) 2018-09-11
  • 1 回答
  • 0 關(guān)注
  • 687 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)