天天看點

2.4 慢記錄檔

像SORT、LREM、SUNION等操作在大對象上會非常耗時,使用時要注意參照官方API上每個指令的算法複雜度。用前面介紹過的慢記錄檔監控操作的執行時間。就像主流資料庫提供的慢SQL日志一樣,Redis也提供了記錄慢操作的日志。注意這部分日志隻會計算純粹的操作耗時。

slowlog-log-slower-than設定慢操作的門檻值,slowlog-max-len設定儲存個數,因為慢記錄檔與延遲記錄一樣,都是儲存在記憶體中的:

127.0.0.1:6379> config set slowlog-log-slower-than 500

OK 

127.0.0.1:6379> debug sleep 1

OK

(0.50s)

127.0.0.1:6379> debug sleep .6

127.0.0.1:6379> slowlog get 10

1) 1) (integer) 2

   2) (integer) 1439369937

   3) (integer) 473178

   4) 1) "debug"

      2) "sleep"

      3) ".6"

2) 1) (integer) 1

   2) (integer) 1439369821

   3) (integer) 499357

      3) "1"

3) 1) (integer) 0

   2) (integer) 1439365058

   3) (integer) 417846

複制代碼

輸出的四列的含義分别是:記錄的自增ID、指令執行時的時間戳、指令的執行耗時(ms)、指令的内容。注意上面的DEBUG指令并沒有包含休眠時間,而隻是指令的處理時間。

本文作者:geelou

本文來自雲栖社群合作夥伴rediscn,了解相關資訊可以關注redis.cn網站。