緩存與數(shù)據(jù)庫一致性問題

問題:

應(yīng)用中用redis或者memcached等DB緩存方案,當(dāng)更新數(shù)據(jù)時丙挽,是先更新數(shù)據(jù)庫后失效緩存,還是先失效緩存,再更新數(shù)據(jù)庫览祖?

以下分別展開描述:

1猾愿,先更新數(shù)據(jù)庫绰垂,后失效緩存:方案的優(yōu)點是緩存不miss键菱,缺點是數(shù)據(jù)更新成功但緩存更新失敗,會導(dǎo)致后面讀取到的是更新前的臟數(shù)據(jù)努溃;

2硫嘶,先失效緩存,后更新數(shù)據(jù)庫:方案的優(yōu)點是避免了方案1的問題梧税;正常情況下僅僅是多了一次緩存miss沦疾;但如果在并發(fā)的情況下,連接1更新數(shù)據(jù)庫第队,連接2在連接1更新完成之前訪問DB并讀取到了更新前的數(shù)據(jù)哮塞,并寫入緩存,這樣會導(dǎo)致獲取到臟數(shù)據(jù)凳谦;

基于上面的情況忆畅,如果在緩存DB一致性要求不高的場景,可以允許有一個緩存周期的臟數(shù)據(jù)的話尸执,則無需考慮家凯;

如果是要求強一致性,則方案1的情況下如失,后續(xù)的讀請求會讀到cache臟數(shù)據(jù)绊诲,設(shè)置全局flag強制不走cache,直接DB岖常,且同時不斷嘗試更新緩存;直至緩存失效或更新成功葫督;此思路簡便但具有一定不確定性竭鞍;

上述方案2的話板惑,則需要在并發(fā)寫、讀情況下偎快,對數(shù)據(jù)庫的操作需要保證序列化冯乘,也就是保證先寫后讀,按順序執(zhí)行晒夹;改造方案:①裆馒,保證在單機應(yīng)用上數(shù)據(jù)庫連接寫讀復(fù)用,GetDBConnection(longid)丐怯;②喷好,分布式應(yīng)用保證相同ID的請求路由到同一服務(wù)實例上GetServiceConnection(longid);也就是分別改動獲取service連接和獲取DB連接的實現(xiàn)方式读跷;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梗搅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子效览,更是在濱河造成了極大的恐慌无切,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丐枉,死亡現(xiàn)場離奇詭異哆键,居然都是意外死亡,警方通過查閱死者的電腦和手機瘦锹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門籍嘹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沼本,你說我怎么就攤上這事噩峦。” “怎么了抽兆?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵识补,是天一觀的道長。 經(jīng)常有香客問我辫红,道長凭涂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任贴妻,我火速辦了婚禮切油,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘名惩。我一直安慰自己澎胡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著攻谁,像睡著了一般稚伍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上戚宦,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天个曙,我揣著相機與錄音,去河邊找鬼受楼。 笑死垦搬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的艳汽。 我是一名探鬼主播猴贰,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骚灸!你這毒婦竟也來了糟趾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤甚牲,失蹤者是張志新(化名)和其女友劉穎义郑,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丈钙,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡非驮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了雏赦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片劫笙。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖星岗,靈堂內(nèi)的尸體忽然破棺而出填大,到底是詐尸還是另有隱情,我是刑警寧澤俏橘,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布允华,位于F島的核電站,受9級特大地震影響寥掐,放射性物質(zhì)發(fā)生泄漏靴寂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一召耘、第九天 我趴在偏房一處隱蔽的房頂上張望百炬。 院中可真熱鬧,春花似錦污它、人聲如沸剖踊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽德澈。三九已至虫埂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間圃验,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工缝呕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留澳窑,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓供常,卻偏偏與公主長得像摊聋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子栈暇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容