参考:http://redis.readthedocs.org/en/latest/server/info.html

INFO [section]

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

section

  • server
• redis_version
• redis_git_sha1
• redis_git_dirty
• os
• arch_bits
• multiplexing_api
• gcc_version
• process_id
• run_id
• tcp_port
• uptime_in_seconds
• uptime_in_days
• lru_clock
  • clients
• connected_clients
• client_longest_output_list
• client_longest_input_buf
• blocked_clients
  • memory
  • used_memory
  • used_memory_human
  • used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps等命令的输出一致。
  • used_memory_peak
  • used_memory_peak_human
  • used_memory_lua
  • mem_fragmentation_ratio : used_memory_rss 和 used_memory
  • mem_allocator


used_memory_rss 的值应该只比  used_memory

rss > used

mem_fragmentation_ratio

used > rss


Because Redis does not have control over how its allocations are mapped to memory pages, highused_memory_rss


当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。

used_memory

used_memory_peak


  • persistence 部分记录了跟 RDB 持久化和 AOF
• loading
• rdb_changes_since_last_save
• rdb_bgsave_in_progress
• rdb_last_save_time
• rdb_last_bgsave_status
• rdb_last_bgsave_time_sec
• rdb_current_bgsave_time_sec
• aof_enabled
• aof_rewrite_in_progress
• aof_rewrite_scheduled
• aof_last_rewrite_time_sec
• aof_current_rewrite_time_sec
• aof_last_bgrewrite_status
  • 如果 AOF 持久化功能处于开启状态,那么这个部分还会加上以下域:
• aof_current_size
• aof_base_size
• aof_pending_rewrite
• aof_buffer_length
• aof_rewrite_buffer_length
• aof_pending_bio_fsync : 后台 I/O 队列里面,等待执行的 fsync
• aof_delayed_fsync : 被延迟的 fsync
  • stats
• total_connections_received
• total_commands_processed
• instantaneous_ops_per_sec
• rejected_connections
• expired_keys
• evicted_keys
• keyspace_hits
• keyspace_misses
• pubsub_channels
• pubsub_patterns
• latest_fork_usec : 最近一次 fork()
  • replication
  • role : 如果当前服务器没有在复制任何其他服务器,那么这个域的值就是 master ;否则的话,这个域的值就是slave
  • 如果当前服务器是一个从服务器的话,那么这个部分还会加上以下域:
  • master_host
  • master_port
  • master_link_status : 复制连接当前的状态, up 表示连接正常, down
  • master_last_io_seconds_ago
  • master_sync_in_progress
  • 如果同步操作正在进行,那么这个部分还会加上以下域:
• master_sync_left_bytes
• master_sync_last_io_seconds_ago
  • 如果主从服务器之间的连接处于断线状态,那么这个部分还会加上以下域:
  • master_link_down_since_seconds
  • 以下是一些总会出现的域:
  • connected_slaves
  • 对于每个从服务器,都会添加以下一行信息:
  • slaveXXX
  • cpu
• used_cpu_sys
• used_cpu_user
• used_cpu_sys_children
• used_cpu_user_children
  • commandstats
  • cmdstat_XXX:calls=XXX,usec=XXX,usecpercall=XXX
  • cluster
  • cluster_enabled
  • keyspace
  • dbXXX:keys=XXX,expires=XXX

section

  • all
  • default

当不带参数直接调用 INFO 命令时,使用 default


不同版本的 Redis 可能对返回的一些域进行了增加或删减。

因此,一个健壮的客户端程序在对 INFO 命令的输出进行分析时,应该能够跳过不认识的域,并且妥善地处理丢失不见的域。


可用版本:

>= 1.0.0 时间复杂度:

O(1) 返回值:

具体请参见下面的测试代码。

redis> INFO
# Server
redis_version:2.9.11
redis_git_sha1:937384d0
redis_git_dirty:0
redis_build_id:8e9509442863f22
redis_mode:standalone
os:Linux 3.13.0-35-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.2
process_id:4716
run_id:26186aac3f2380aaee9eef21cc50aecd542d97dc
tcp_port:6379
uptime_in_seconds:362
uptime_in_days:0
hz:10
lru_clock:1725349
config_file:

# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:508536
used_memory_human:496.62K
used_memory_rss:7974912
used_memory_peak:508536
used_memory_peak_human:496.62K
used_memory_lua:33792
mem_fragmentation_ratio:15.68
mem_allocator:jemalloc-3.2.0

# Persistence
loading:0
rdb_changes_since_last_save:6
rdb_bgsave_in_progress:0
rdb_last_save_time:1411011131
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:2
total_commands_processed:4
instantaneous_ops_per_sec:0
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:0.21
used_cpu_user:0.17
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=2,expires=0,avg_ttl=0