redis常見問題

2021-10-03 13:29:27 字數 461 閱讀 5142

redis使用中可能出現的一些問題

1.快取穿透:

快取穿透是指查詢乙個一定不存在的資料,由於快取是不命中時需要從db查詢,查不到資料則不寫入快取,這將導致這個不存在的資料每次請求都要到資料庫查詢,從而造成快取穿透。

解決辦法:

持久層查詢不到就快取空結果,查詢時先判斷快取中是否exists(key),

如果有直接返回空,沒有則查詢後返回,注意insert時需清除查詢的key,否則即使db中有值也查詢不到(當然也可以設定空快取的過期時間)

2.快取雪崩:

快取大量失效的時候,引發大量查詢的請求

解決辦法:

3.熱點key(資料)

熱點key :某個key的訪問非常頻繁,當key失效的時候有大量執行緒來構建快取,導致負載增加,系統奔潰。

解決辦法:

redis常見問題

在redis命令列執行info clients 得到類似下面的結果 connected clients 357 client longest output list 0client biggest input buf 0blocked clients 0redis連線數過多的問題可以參考 處理red...

Redis常見問題

1.如何解決快取雪崩?2.如何解決快取穿透?3.如何保證快取與資料庫雙寫時一致的問題?1.1 什麼是快取雪崩?回顧一下我們為什麼要用快取 redis 現在有個問題,如果我們的快取掛掉了,這意味著我們的全部請求都跑去資料庫了。我們都知道redis不可能把所有的資料都快取起來 記憶體昂貴且有限 所以re...

Redis常見問題

1.官方答案 因為redis是基於記憶體的操作,cpu不是redis的瓶頸,redis的瓶頸最有可能是機器記憶體的大小或者網路頻寬。既然單執行緒容易實現,而且cpu不會成為瓶頸,那就順理成章地採用單執行緒的方案了。redis採用的是多路io復用技術,多路指的是多個網路連線,復用指的是乙個執行緒,多路...