Redis的慢查询日志
本功能主要用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度。
服务器配置有两个和慢查询日志相关的选项
a) slowlog-log-slower-than 指定执行时间超过多少微妙的命令请求会被记录到日志中。该值<0,未开启慢查询日志功能,>=0,则需要记录日志;
b) slowlog-max-len 指定服务器最多保存多少条慢查询日志;
可以通过以下命令设置另个属性值:
CONFIG SET slowlog-log-slower-than 0 //设置记录所有操作到慢查询日志中
CONFIG SET slowlog-max-len 5 //最多保存5条慢查询日志
查询服务器保存的慢查询日志:
SLOWLOG GET
服务器状态中包含了几个和慢查询日志功能有关的属性:
struct redisServer{
// ....
//下一条慢查询日志的ID
long long slowlog_entry_id;
//保存了所有慢查询日志的链表
//链表中节点都包含一个slowlogEntry结构
list *slowlog;
long long slowlog-log-slower-than;
unsigned long slowlog-max-len;
// ....
}