From 81682a605136a6007ded395b787b4902bce86994 Mon Sep 17 00:00:00 2001 From: ranwenjie Date: Fri, 26 Mar 2021 13:34:07 +0800 Subject: [PATCH] redis slowlog --- 2 List/Redis slowlog.md | 66 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 2 List/Redis slowlog.md diff --git a/2 List/Redis slowlog.md b/2 List/Redis slowlog.md new file mode 100644 index 0000000..21472d4 --- /dev/null +++ b/2 List/Redis slowlog.md @@ -0,0 +1,66 @@ +# Redis slowlog + + +redis中的slowlog使用链表来保存 + + +``` +struct redisServer { + + // ... + + + // 下一条慢查询日志的 ID + long long slowlog_entry_id; + + + // 保存了所有慢查询日志的链表 + list *slowlog; + + + // 服务器配置 slowlog-log-slower-than 选项的值 + long long slowlog_log_slower_than; + + + // 服务器配置 slowlog-max-len 选项的值 + unsigned long slowlog_max_len; + + + // ... + +}; +``` + + +一条slowlog entry标识 + +``` +typedef struct slowlogEntry { + + + // 唯一标识符 + long long id; + + + // 命令执行时的时间,格式为 UNIX 时间戳 + time_t time; + + + // 执行命令消耗的时间,以微秒为单位 + long long duration; + + + // 命令与命令参数 + robj **argv; + + + // 命令与命令参数的数量 + int argc; + + +} slowlogEntry; + +``` + + +