最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)庫一致性還有疑問嗎的評論 (共 條)

分享到微博請遵守國家法律
酒泉市| 昭觉县| 陇西县| 永城市| 浪卡子县| 阿巴嘎旗| 湟中县| 山阳县| 香港 | 泰来县| 新巴尔虎右旗| 榆树市| 台湾省| 开封县| 青海省| 田东县| 嘉峪关市| 呈贡县| 化州市| 乐山市| 西乌珠穆沁旗| 蓝山县| 巨鹿县| 甘南县| 景德镇市| 手机| 镇远县| 龙岩市| 呈贡县| 科技| 余姚市| 垦利县| 凌海市| 沙河市| 皮山县| 偏关县| 博罗县| 英超| 普宁市| 河东区| 乡宁县|