info指令以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。



通过给定可选的参数 <tt class="docutils literal">section</tt> ,可以让命令只返回某一部分的信息:
  • server : 一般 Redis 服务器信息,包含以下域:

    - redis\_version : Redis 服务器版本 - redis\_git\_sha1 : Git SHA1 - redis\_git\_dirty : Git dirty flag - os : Redis 服务器的宿主操作系统 - arch\_bits : 架构(32 或 64 位) - multiplexing\_api : Redis 所使用的事件处理机制 - gcc\_version : 编译 Redis 时所使用的 GCC 版本 - process\_id : 服务器进程的 PID - run\_id : Redis 服务器的随机标识符(用于 Sentinel 和集群) - tcp\_port : TCP/IP 监听端口 - uptime\_in\_seconds : 自 Redis 服务器启动以来,经过的秒数 - uptime\_in\_days : 自 Redis 服务器启动以来,经过的天数 - lru\_clock : 以分钟为单位进行自增的时钟,用于 LRU 管理
  • clients : 已连接客户端信息,包含以下域:

    - connected\_clients : 已连接客户端的数量(不包括通过从属服务器连接的客户端) - client\_longest\_output\_list : 当前连接的客户端当中,最长的输出列表 - client\_longest\_input\_buf : 当前连接的客户端当中,最大输入缓存 - blocked\_clients : 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
  • memory : 内存信息,包含以下域:

    - used\_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位 - used\_memory\_human : 以人类可读的格式返回 Redis 分配的内存总量 - used\_memory\_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 topps 等命令的输出一致。 - used\_memory\_peak : Redis 的内存消耗峰值(以字节为单位) - used\_memory\_peak\_human : 以人类可读的格式返回 Redis 的内存消耗峰值 - used\_memory\_lua : Lua 引擎所使用的内存大小(以字节为单位) - mem\_fragmentation\_ratio : used\_memory\_rssused\_memory 之间的比率 - mem\_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。
    在理想情况下, used\_memory\_rss 的值应该只比 used\_memory 稍微高一点儿。
    rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
    内存碎片的比率可以通过 mem\_fragmentation\_ratio 的值看出。
    used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。
    Because Redis does not have control over how its allocations are mapped to memory pages, high used\_memory\_rss is often the result of a spike in memory usage.
    当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。
    如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used\_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。
    查看 used\_memory\_peak 的值可以验证这种情况是否发生。
  • persistence : RDBAOF 的相关信息

  • stats : 一般统计信息

  • replication : 主/从复制信息

  • cpu : CPU 计算量统计信息

  • commandstats : Redis 命令统计信息

  • cluster : Redis 集群信息

  • keyspace : 数据库相关的统计信息

除上面给出的这些值以外,参数还可以是下面这两个:
  • all : 返回所有信息
  • default : 返回默认选择的信息
当不带参数直接调用 INFO命令时,使用 <tt class="docutils literal">default</tt> 作为默认参数。



参考页面:<a href="http://redis.readthedocs.org/en/latest/index.html" target="_blank" rel="noopener">redis命令参考</a>