天天看點

【JavaWeb】線上視訊播放平台 Redis實作首頁熱點資料緩存 防止緩存雪崩 延遲雙删實作緩存同步 項目筆記講解總結Redis實作首頁熱點資料緩存,防止緩存雪崩延遲雙删實作緩存同步

Redis實作首頁熱點資料緩存,防止緩存雪崩

【JavaWeb】線上視訊播放平台 Redis實作首頁熱點資料緩存 防止緩存雪崩 延遲雙删實作緩存同步 項目筆記講解總結Redis實作首頁熱點資料緩存,防止緩存雪崩延遲雙删實作緩存同步

後端添加/修改接口實作緩存同步

不太完善的辦法,下面有延遲雙删(有小bug)的辦法。

★★後期詢問老師後知道了,需要new一個線程完成延時的操作,目前線程直接相應用戶端。★★

【JavaWeb】線上視訊播放平台 Redis實作首頁熱點資料緩存 防止緩存雪崩 延遲雙删實作緩存同步 項目筆記講解總結Redis實作首頁熱點資料緩存,防止緩存雪崩延遲雙删實作緩存同步
【JavaWeb】線上視訊播放平台 Redis實作首頁熱點資料緩存 防止緩存雪崩 延遲雙删實作緩存同步 項目筆記講解總結Redis實作首頁熱點資料緩存,防止緩存雪崩延遲雙删實作緩存同步

延遲雙删實作緩存同步

雙寫一緻性。

所謂緩存同步(雙寫一緻性)當我們添加或者修改或者删除某一個資料的時候,要将緩存中的資料更新。保證緩存和MySQL中的資料是一緻的。

方案1:更新緩存,更新資料庫。

​ 更新緩存成功,更新資料庫失敗(将緩存在更新回去)。

​ 高并發下,更新緩存成功,沒來得及更新資料庫,就有人查詢緩存。

方案2:删除緩存,更新資料庫。

​ 删除緩存中,還沒來得及更新資料庫,其他線程查詢了。

​ 高并發下都會出現意外。

方案3: 更新資料庫,删除緩存。(先用這個)

方案4:删除緩存,更新資料庫,稍等一會再次删除緩存。(延遲雙删)。

修改上面的添加/修改内容的接口:

【JavaWeb】線上視訊播放平台 Redis實作首頁熱點資料緩存 防止緩存雪崩 延遲雙删實作緩存同步 項目筆記講解總結Redis實作首頁熱點資料緩存,防止緩存雪崩延遲雙删實作緩存同步

後期上傳《線上視訊播放平台》項目源碼。