五月天青色头像情侣网名,国产亚洲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ù)庫一致性還有疑問嗎的評論 (共 條)

分享到微博請遵守國家法律
通河县| 边坝县| 土默特左旗| 米泉市| 保山市| 双鸭山市| 金阳县| 射洪县| 比如县| 清新县| 宁武县| 洛阳市| 基隆市| 涟源市| 乳山市| 景东| 东辽县| 宁都县| 湘潭市| 沅陵县| 天门市| 砀山县| 怀仁县| 沿河| 旬邑县| 芒康县| 江油市| 公安县| 新河县| 福建省| 偏关县| 通榆县| 随州市| 栾川县| 景谷| 西平县| 塔河县| 图们市| 通榆县| 东乌| 荣成市|