Redis高级特性之慢查询的操作命令

获取慢查询日志

slowlog get [n] 
  • 之前设置是10毫秒的阈值,所以没有指令的信息,现在将redis的阈值设置为0.没有进行对redis的操作所以没有指令信息哈哈哈

Redis高级特性之慢查询的操作命令_第1张图片
Redis高级特性之慢查询的操作命令_第2张图片

  • 查询结果的详细分析
  • 慢查询日志的组成部分包括:日志的标识id、发生的时间戳、命令耗时(微妙)、执行命令与参数、客户端IP和端口、客户端名称。
    Redis高级特性之慢查询的操作命令_第3张图片

获取慢查询日志当前列表的长度

slowlog len

在这里插入图片描述

慢查询日志重置

slowlog reset

Redis高级特性之慢查询的操作命令_第4张图片

使用慢查询的注意事项

  • 由于记录慢查询时Redis会对长命令做截断的操作,并不会占用大量的内存。增大慢查询列表可以减缓慢查询记录被剔除的可能。线上生产建议1000以上。
  • 关于超时阈值的判断,默认时10毫秒。需要根据Redis的并发量调整该值。
  • 由于Redis采用单线程响应命令,对应的高流量场景,如果命令执行事件在1毫秒以上。Redis最多可以支撑的OPS(“Oracle Parallel Server”的缩写来使用,中文表示:“并行服务器”)不到1000,对于高OPS的场景Redis设置建议为1毫秒或者更低比如100微妙。
  • 慢查询只是针对命令执行时间,不包括命令排队和网络传输时间。因此客户端执行时间会大于命令实际执行时间。因为命令执行的排队机制,慢查询会导致其他命令级联阻塞,因此当客户端出现请求超时,需要检查该时间点是否有对应的慢查询。为了分析是否是慢查询导致的命令级联阻塞。
  • 慢查询日志队列是一个FIFO队列,慢查询比较多的情况下,可能会丢失部分队列,为了避免可以采用定期执行slowlog get命令将慢查询日志持久化到其他存储中。

你可能感兴趣的:(Redis,redis,数据库,缓存)