Redis中的慢日志
Redis慢日志
redis慢日志是用于記錄某些命令在執(zhí)行時超過了預設定的時間,只要超過了一定的時間,redis就會將該條命令記錄到redis-slowlog中。
查看slowlog的設置:
第一種查看redis的慢日志配置:
打開redis.conf文件進行查看和配置,如下圖:
在上圖中我們可以看到redis的slowlog(慢日志)的默認配置,其中有兩個地方需要了解:
1. slowlog-log-slower-than: 這個配置表示執(zhí)行時間,在redis執(zhí)行命令時,只要有任何一條命令超過了設置的執(zhí)行時間,redis就會將這條命令記錄到慢日志中。
2. slowlog-max-len: 這個配置表示該日志的大小,redis的日志是一個FIFO隊列,當該隊列達到設定的長度大小之后,后面記錄的日志會覆蓋掉之前記錄的日志。
第二種查看redis的慢日志配置:
使用命令 config get slowlog*,可以查看到當前redis的slowlog的配置信息:
127.0.0.1:6379> config get slowlog* 1) "slowlog-max-len" 2) "128" 3) "slowlog-log-slower-than" 4) "10"
查看rediso slowlog日志內容:
使用命令 slowlog get [n] 獲取前n條慢查詢日志,不指定長度獲取全部。
127.0.0.1:6379> slowlog get 2 1) 1) (integer) 8 2) (integer) 1621174057 3) (integer) 32 4) 1) "keys" 2) "*" 5) "127.0.0.1:5684" 6) "" 2) 1) (integer) 7 2) (integer) 1621173719 3) (integer) 34 4) 1) "config" 2) "get" 3) "slowlog*" 5) "127.0.0.1:5684" 6) ""
PS: redis的slowlog是記錄在內存中的,所以就算是頻繁觸發(fā)slowlog日志,也不會對redis的性能造成影響。
Redis慢日志相關命令配置
運行期配置:重啟后失效
# 慢日志配置查看(模糊查詢:慢日志時間,慢日志記錄條數) config get *slowlog* # 查看指定條數的慢日志,返回最近的指定條數 slowlog get 2 # 設置慢日志 config set slowlog-log-slower-than 10000 (單位:微妙,默認值:10000 => 10毫秒) config set slowlog-max-len 128(默認值:保留128條慢日志) # 重置redis慢日志 slowlog reset # 查看符合過濾的慢日志條數 slowlog len # 慢日志幫助 slowlog help
配置文件配置redis.conf:
slowlog-log-slower-than 10000 slowlog-max-len 128
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。