redis命令的生命周期
1.客户端发送命令
2.命令在redis中排队
3.redis执行命令
4.redis向客户端返回结果
慢查询定义:
1.慢查询是发生在第三阶段,在执行的时候消耗了很多时间。
2.客户端超时不一定是慢查询,但慢查询可能导致客户端超时。
慢查询的配置
slowlog-log-slower-than = 10000(默认值) 命令执行超过多少时间(单位:微秒)就加入到慢查询队列中。如果想将所有的命令都进入慢查询日志,那就设置为0,如果小于0,就是所有命令都不记录。通常要设置成1ms.
slowlog-max-len = 128(默认值) 慢查询队列的固定长度,通常设置成1000左右。
慢查询队列是:
1.先进先出队列
2.固定长度
3.保存在内存中 (建议定期做慢查询命令的持久化,方便查历史问题,对分析慢查询很有帮助。)
设置方法
1.修改配置文件重启
2.动态配置 config set
慢查询命令
slowlog get[n] : 获取慢查询队列的记录,n为可选参数来获取慢查询的条数
slowlog len : 获取慢查询队列的长度
slowlog reset : 清空慢查询队列