跳到主內容

🔍 Redis 快速檢查指令清單

1. 查看 Redis 整體記憶體使用


redis-cli info memory

重點看:

  • used_memory_human → Redis 目前用多少

  • maxmemory → 上限

  • mem_fragmentation_ratio → 記憶體碎片率


2. 查看資料筆數


redis-cli dbsize

顯示 key 數量(Drupal 正常應該幾千~幾萬,不會幾百萬)。


3. 找出最大 key


redis-cli --bigkeys

會依 key type 顯示「最大 key」與統計資訊,幫助找出異常大的 cache。
例如看到:


Biggest string found 'cache:default:tags' has 200 MB

就代表 cache tag key 爆掉。


4. 檢查 key 記憶體大小

(需要 Redis 4.0+)


redis-cli memory usage <key>

例如:


redis-cli memory usage cache:default:tags

會輸出 bytes,用來判斷哪個 key 特別肥。


5. 抽樣列出 key


redis-cli scan 0 match "cache:*" count 20

可隨機抽樣看看 Drupal 快取 key 的型態。


6. 查看所有 key 大小排名(進階)


redis-cli --raw keys "*" | \ xargs -L1 redis-cli memory usage | \ sort -n | tail -20

這會顯示 最大 20 個 key 的記憶體用量。


7. 清理快取

  • 清全部 Redis:


    redis-cli flushall
  • 清 Drupal Cache:


    drush cr

🔧 建議排查步驟

  1. redis-cli info memory → 確認總用量

  2. redis-cli dbsize → 確認 key 數量

  3. redis-cli --bigkeys → 找最大 key

  4. redis-cli memory usage <key> → 精準看佔用記憶體

  5. 如果某個 cache tag 或 session 爆大 → 考慮調整 Drupal 的 Redis 設定或加上 maxmemory 控制