8244 发表于 2018-11-7 09:41:29

Redis学习手册(服务器管理)

该命令主要用于读取执行时间较长的命令。其中执行时间的评判标准仅为命令本身的执行时间,并不包括网络交互时间。和该命令相关的配置参数主要有两个,第一个就是执行之间的阈值(以微秒为单位),即执行时间超过该值的命令都会被存入slowlog队列,以供该命令读取。第二个是slowlog队列的长度,如果当前命令在存入之前,该队列中的命令已经等于该参数,在命令进入之前,需要将队列中最老的命令移出队列。这样可以保证该队列所占用的内存总量保持在一个相对恒定的大小。由于slowlog队列不会被持久化到磁盘,因此Redis在收集命令时不会对性能产生很大的影响。通常我们可以将参数"slowlog-log-slower-than"设置为0,以便收集所有命令的执行时间。该命令还包含以下几个子命令:  1). SLOWLOG GET N: 从slowlog队列中读取命令信息,N表示最近N条命令的信息。
  2). SLOWLOG LEN:获取slowlog队列的长度。
  3). SLOWLOG RESET:清空slowlog中的内容。
  最后给出SLOWLOG GET命令返回信息的解释。
  redis 127.0.0.1:6379> slowlog get 10
  1) 1) (integer) 5         #唯一表示符,在Redis重启之前,该值保证唯一。
  2) (integer) 1330369320 #Unix Timestamp格式表示的命令执行时间。
  3) (integer) 13      #命令执行所用的微秒数。
  4) 1) "slowlog"      #以字符串数组的格式输出收集到的命令及其参数。
  2) "reset"

页: [1]
查看完整版本: Redis学习手册(服务器管理)