(2)hotkeys參數,redis 4.0.3提供了redis-cli的熱點key發現功能,執行redis-cli時加上–hotkeys選項即可。但是該參數在執行的時候,如果key比較多,執行起來比較慢。
Redis客戶端使用TCP協議與服務端進行交互,通信協議採用的是RESP。自己寫程序監聽埠,按照RESP協議規則解析數據,進行分析。缺點就是開發成本高,維護困難,有丟包可能性。
假設此時有十萬個針對同一個key的請求過來,如果沒有本地緩存,這十萬個請求就直接懟到同一臺redis上了。 現在假設,你的應用層有50臺機器,OK,你也有jvm緩存了。這十萬個請求平均分散開來,每個機器有2000個請求,會從JVM中取到value值,然後返回數據。避免了十萬個請求懟到同一臺redis上的情形。
這個方案也很簡單。不要讓key走到同一臺redis上不就行了。我們把這個key,在多個redis上都存一份不就好了。接下來,有熱key請求進來的時候,我們就在有備份的redis上隨機選取一臺,進行訪問取值,返回數據。