Redis slowlog
2013-06-22 23:35
239 查看
和mongo的slowlog一样,redis中对于操作时间较长(默认为10秒)的命令也会记录下来,不过它将它们保存在redisServer结构中的slowlog这个链表中,新进来的log排在链表头部,这个链表的长度可以配置,超过长度(默认为128)则将链表尾部元素踢掉。
链表中的元素是slowlogEntry:
// This structure defines an entry inside the slow log list.
typedef struct slowlogEntry {
robj** argv;
int argc;
long long id; // Unique entry identifier.
long long duration; // Time spent by the query, in nanoseconds.
time_t time; // Unix time at which the query was executed.
} slowlogEntry;
argv最多只保存32个,如果多出来了,则第32个改为"... (%d more arguments)",如果参数是字符串并且长度超过128,则将其替换为"... (%lu more bytes)",argv共享的是client中的argv,所以push entry时会增加原有argv的引用计数。
j接口如下:
// Exported API.
void slowlogInit(void);
void slowlogPushEntryIfNeeded(robj** argv, int argc, long long duration);
// Exported commands.
void slowlogCommand(redisClient* c);
slowlogCommand是执行slowlog命令,命令带的参数在redisClient中的argv中。看起来,它支持reset,len,get三个子命令。reset,len不用说,get n代表获取最新的n条slowlog记录。
链表中的元素是slowlogEntry:
// This structure defines an entry inside the slow log list.
typedef struct slowlogEntry {
robj** argv;
int argc;
long long id; // Unique entry identifier.
long long duration; // Time spent by the query, in nanoseconds.
time_t time; // Unix time at which the query was executed.
} slowlogEntry;
argv最多只保存32个,如果多出来了,则第32个改为"... (%d more arguments)",如果参数是字符串并且长度超过128,则将其替换为"... (%lu more bytes)",argv共享的是client中的argv,所以push entry时会增加原有argv的引用计数。
j接口如下:
// Exported API.
void slowlogInit(void);
void slowlogPushEntryIfNeeded(robj** argv, int argc, long long duration);
// Exported commands.
void slowlogCommand(redisClient* c);
slowlogCommand是执行slowlog命令,命令带的参数在redisClient中的argv中。看起来,它支持reset,len,get三个子命令。reset,len不用说,get n代表获取最新的n条slowlog记录。
相关文章推荐
- redis slowlog
- redis slowlog配置说明
- Redis源码分析(二十一)——慢查日志slow_log
- 结合redis设计与实现的redis源码学习-25-慢查询日志(slowlog)
- 轻松使用 Redis slowlog
- redis slowlog
- 将redis slowlog存入MySQL
- Redis slowlog
- Redis slowlog
- mysql5.6.10关于慢查询的设置slow-query-log
- MySQL开启慢查询日志log-slow-queries
- mysql慢查询Slow Query Log和未使用索引(Not Using Indexes)查询配置和使用
- 五款常用mysql slow log分析工具的比较
- MySQL错误日志(error log),二进制日志(binlog),慢查询日志(slow query log),查询日志(general log),重写日志(redo log)
- mysql开启slow_query_log
- mysql dba系统学习(9)slow query log慢查询日志功能
- ERROR 1146 (42S02): Table 'mysql.slow_log' doesn't exist
- MySQL四种类型日志:Error Log、General Query Log、Binary Log、Slow Query Log
- MySQL专题 2 数据库优化 Slow Query log