五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

同城交友源碼,對緩存和數(shù)據(jù)庫一致性還有疑問嗎

2023-06-29 16:09 作者:云豹科技的小路飛呀  | 我要投稿

無論是緩存還是數(shù)據(jù)庫,對同城交友源碼而言都是必不可少的存在,但由于緩存和數(shù)據(jù)庫中都需要存儲數(shù)據(jù),于是緩存和數(shù)據(jù)庫一致性問題便被提出來了,并且還成為了一個老生常談的話題,在同城交友源碼中,該如何解決該問題呢?

如果在同城交友源碼中通過啟動定時任務(wù)的方式來將數(shù)據(jù)庫中的數(shù)據(jù)更新到緩存中,是會引發(fā)數(shù)據(jù)不一致問題的,所以使用定時任務(wù)的方式并不可??;如果同時更新緩存和數(shù)據(jù)庫中的數(shù)據(jù),無論是先更新緩存還是先更新數(shù)據(jù)庫都會存在并發(fā)引起的一致性問題。

所以“無腦”更新并不適用于同城交友源碼,為了保證緩存的利用率和緩存與數(shù)據(jù)庫一致性,我們可以引入刪除緩存方案,那可實現(xiàn)的數(shù)據(jù)更新方案則可以分為兩種:

第一種是先刪除緩存,后更新數(shù)據(jù)庫;第二種是先更新數(shù)據(jù)庫,后刪除緩存。無論是第一種還是第二種數(shù)據(jù)更新方案,第二步失敗仍會導(dǎo)致數(shù)據(jù)不一致問題。

對于第一種方案,在并發(fā)場景下,如果讀寫同時發(fā)生,仍可能存在數(shù)據(jù)不一致的情況。但第二種讀寫同時發(fā)生后數(shù)據(jù)不一致情況出現(xiàn)的概率非常低,所以在同城交友源碼中可以利用“先更新數(shù)據(jù)庫,后刪除緩存”的方式來保證緩存和數(shù)據(jù)庫的一致性。

為避免“先更新數(shù)據(jù)庫,后刪除緩存”方案中第二步失敗所引發(fā)的數(shù)據(jù)不一致問題,在同城交友源碼開發(fā)時,可以采取兩種解決措施,第一種是利用消息隊列實現(xiàn)異步重試,第二種是訂閱數(shù)據(jù)庫變更日志,再操作緩存。

由于消息隊列的保證可靠性和保證消息成功投遞的特性,讓消息隊列成為了實現(xiàn)異步重試的關(guān)鍵,當然引入消息隊列后會改變系統(tǒng)架構(gòu),從而增加系統(tǒng)的復(fù)雜性,所以訂閱變更日志在同城交友源碼開發(fā)時更受歡迎。

在同城交友源碼中,要想保證緩存和數(shù)據(jù)庫一致性,推薦使用“先更新數(shù)據(jù)庫,再刪除緩存”的方案,同時還要配合消息隊列或訂購變更日志使用。由于性能和一致性不能同時滿足,所以為了保證系統(tǒng)性能,我們追求的只是最終一致性。

聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請注明作者名及原文鏈接,否則視為侵權(quán)


同城交友源碼,對緩存和數(shù)據(jù)庫一致性還有疑問嗎的評論 (共 條)

分享到微博請遵守國家法律
龙井市| 临湘市| 固阳县| 宁乡县| 新平| 荆门市| 瓦房店市| 静安区| 安徽省| 溆浦县| 来宾市| 南陵县| 平潭县| 沁水县| 恩施市| 毕节市| 通山县| 富顺县| 潢川县| 涟源市| 庄浪县| 吉木萨尔县| 汶川县| 汶上县| 临邑县| 渝北区| 连江县| 桃江县| 乐至县| 磐安县| 额尔古纳市| 章丘市| 永登县| 龙州县| 青州市| 阿城市| 梁山县| 沙洋县| 获嘉县| 镇赉县| 陆丰市|