- 這臺伺服器的使用量其實並不大,當初設定256M的容量其實夠用的
- 現在擴容到 2G , 現在就用到了1.71G
- 預設的配置
hz 10
maxmemory-policy volatile-lru
- 由於本機沒有視覺化 redis 工具,只能上伺服器檢視資訊
- 只能一個個分割槽去檢視,查到 1 分割槽的時候 檢視有大量的相同的字首的key 是 string 型別的
- 檢視了其中一個 key 的過期時間,算是1天的過期時間
- 詢問其他同事,這個快取作用,商量結果是 批量刪除
查詢了資料,幾乎是先模糊查詢 所有對應的key 然後在刪除,我選出其中一種方法
[root@lsk root]# redis-cli -h redis.serv -a 'sercet' -n 1 --scan --pattern "manage.session.*" | xargs -L 1000 redis-cli -h redis.serv -a 'sercet' -n 1 del
- -h 是我定義的redis地址
- -n 是分割槽1
- -L 是一次性刪除的數 第一次我500刪 但是嫌太慢了 改成1000
返回的資訊
由於 redis 刪除 key 之後不會馬上會釋放記憶體,所以不會看到記憶體使用量馬上下去
如果已經影響到系統記憶體使用了,也有下面三種方案:
- 可以通過 MEMORY PURGE命令進行記憶體整理。(瞬時,能稍微騰出rss記憶體空間)
- 開啟activedefrag,熱碎片整理。(會佔用CPU,在主執行緒執行,可以設定CPU佔用率)
- 重啟。
本作品採用《CC 協議》,轉載必須註明作者和本文連結