1. 程式人生 > 資料庫 >解決Redis高併發下資料庫穿透問題

解決Redis高併發下資料庫穿透問題

解決Redis高併發下資料庫穿透問題

使用synchronized同步鎖

假如上萬或數十萬個請求 同時 請求一個介面,介面中從redis中查詢相應資訊。如果redis查詢結果為空,就回去查資料庫,應為是在高併發情況下,所以會多次查資料庫,有可能是成千上萬次。
錯誤示例:
在這裡插入圖片描述

這會使資料庫的一壓力會非常大。這時我們就用synchronize同步鎖來解決。
一萬個請求同時進來,只有一個請求拿到鎖,只有這個請求釋放鎖之後其他請求才能進來。一個請求進來之後,會去查一次資料庫並吧查詢結果存入redis中。然後釋放鎖,然後下一個請求就會進來,這時就會查到redis中有資料,就不會再去查資料庫了。等下一個高併發請求過來之後就會直接從redis中查。這樣就查了一次資料庫,很好的解決了資料庫穿透問題。

正確示例:在這裡插入圖片描述