目录 搜索
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群计数失败报告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群键槽) cluster meet cluster nodes(集群节点) cluster replicate(集群复制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
文字

SLOWLOG subcommand [argument]

自2.2.12起可用。

该命令用于读取和重置Redis慢速查询日志。

Redis缓慢的日志概述

Redis Slow Log是一个记录查询超过指定执行时间的系统。执行时间不包括I / O操作,如与客户端交谈,发送回复等等,但仅仅是实际执行命令所需的时间(这是执行命令的唯一阶段,其中线程被阻止并且不能同时服务于其他请求)。

您可以使用两个参数配置慢日志:slowlog-log-slow-than 告知 Redis 为了记录命令,执行时间(微秒)超过了多少。请注意,负数将禁用慢日志,而值为零将强制记录每条命令。slowlog-max-len 是慢日志的长度。最小值为零。当记录新的命令并且慢日志已经处于其最大长度时,为了留出空间,将最老的命令从记录的命令队列中移除。

配置可以通过编辑完成,也可以redis.conf在服务器运行时使用CONFIG GET和CONFIG SET命令来完成。

读慢日志

慢日志在内存中累积,因此没有写入关于慢命令执行信息的文件。这使得日志记录非常快,可以启用所有命令的日志记录(将 slowlog-log-slow- config 配置参数设置为零),同时影响较小。

要读取慢日志,使用 SLOWLOG GET 命令,该命令将返回慢日志中的每个条目。可以仅返回N个最近的条目,并将其他参数传递给该命令(例如 SLOWLOG GET 10)。

请注意,为了读取慢日志输出,您需要使用 redis-cli 的最新版本,因为它使用了以前在 redis-cli 中执行的一些协议功能(深度嵌套的多批量响应)。

输出格式

redis 127.0.0.1:6379> slowlog get 2
1) 1) (integer) 14   
    2) (integer) 1309448221   
    3) (integer) 15   
    4) 1) "ping"
       2) 1) (integer) 13   
          2) (integer) 1309448128   
          3) (integer) 30   
          4) 1) "slowlog"      
             2) "get"      
             3) "100"

还有只有 Redis 4.0或更高版本才能发布的可选字段:

5) "127.0.0.1:58217"
6) "worker-123"

每个条目由四个(或以 Redis 4.0开头的六个)字段组成:

  • 每个慢日志条目的唯一渐进标识符。

  • 处理记录的命令的 UNIX 时间戳。

  • 执行所需的时间量,以微秒为单位。

  • 组成命令参数的数组。

  • 客户端 IP 地址和端口(仅限4.0)。

  • 客户端名称(如果通过 CLIENT SETNAME 命令设置)(仅限4.0)。

该条目的唯一 ID 可用于避免多次处理缓慢的日志条目(例如,您可能有一个脚本为每个新的慢日志条目发送电子邮件警报)。

在 Redis 服务器执行过程中,ID 永远不会被重置,只有服务器重启才会重置它。

获取慢日志的当前长度

使用命令 SLOWLOG LEN 可以获得慢日志的长度。

重置慢日志。

您可以使用 SLOWLOG RESET 命令重置慢日志。一旦删除,信息将永远丢失。

上一篇: 下一篇: