舉幾個例子
看延遲 60 秒內的最大響應延遲:
慢日志(slowlog)
慢查詢,就會導致后面的請求發生排隊,對于客戶端來說,響應延遲也會變長。
bigkey
大對象
集中過期
一般有兩種方案來規避這個問題:
1.集中過期 key 增加一個隨機過期時間,把集中過期的時間打散,降低 Redis 清理過期 key 的壓力
2.如果你使用的 Redis 是 4.0 以上版本,可以開啟 lazy-free 機制,當刪除過期 key 時,把釋放內存的操作放到后臺線程中執行,避免阻塞主線程
fork耗時嚴重
主進程創建子進程,會調用操作系統提供的 fork 函數
使用Swap
當內存中的數據被換到磁盤上后,Redis 再訪問這些數據時,就需要從磁盤上讀取,訪問磁盤的速度要比訪問內存慢幾百倍!
內存碎片
Redis 4.0 版本,它正好提供了自動碎片整理的功能,可以通過配置開啟碎片自動整理