Redis提供了慢查询日志记录,当命令执行时间超过Redis设置的值时,会将慢查询命令存储到一个列表中
由于Redis是单线程的,客户端发送的命令都会存放到队列中,由单线程获取并执行,如果某个命令执行耗时过长,就会发生阻塞,Redis慢查询指的就是第三步,执行命令耗时过长
获取慢查询:slowlog get 查询慢查询列表长度:slowlog len 重置慢查询列表:slowlog reset
线上可根据并发量设置slowlog-log-slower-than的值,默认10毫秒,建议设置为1毫秒,记录慢查询的记录队列可设置大一点,为了防止日志记录出列丢失,需要定时的获取记录持久化存储(如存储到mysql中),以便开发人员分析优化