非常教程

Redis参考手册

服务器 | Server

info

INFO [section]

自1.0.0起可用。

INFO 命令返回有关服务器的信息和统计信息,格式简单易懂,易于人工阅读。

可选参数可用于选择特定部分的信息:

  • server:有关 Redis 服务器的一般信息
  • clients:客户端连接部分
  • memory:内存消耗相关信息
  • persistence:RDB 和 AOF 相关信息
  • stats:一般统计资料
  • replication:主/从复制信息
  • cpu:CPU消耗统计
  • commandstats:Redis 命令统计
  • cluster:Redis 群集部分
  • keyspace:数据库相关统计

它也可以采用以下值:

  • all:返回所有部分
  • default:仅返回默认的一组部分

当没有提供参数时,假定该default选项。

返回值

批量字符串回复:作为文本行的集合。

行可以包含部分名称(以#字符开头)或属性。所有的field:value属性都以终止\r\n的形式。

redis> INFO # Server redis_version:999.999.999 redis_git_sha1:e09e31b1 redis_git_dirty:0 redis_build_id:f05c0e7d7d91e005 redis_mode:standalone os:Linux 4.8.0-1-amd64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:6.2.0 process_id:934 run_id:feb550f7d0ffb809357adf071709bb037e8e8969 tcp_port:6379 uptime_in_seconds:2791032 uptime_in_days:32 hz:10 lru_clock:13100366 executable:/usr/local/bin/redis-server config_file: # Clients connected_clients:4 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 # Memory used_memory:251242072 used_memory_human:239.60M used_memory_rss:259956736 used_memory_rss_human:247.91M used_memory_peak:251282528 used_memory_peak_human:239.64M used_memory_peak_perc:99.98% used_memory_overhead:74887972 used_memory_startup:487168 used_memory_dataset:176354100 used_memory_dataset_perc:70.33% total_system_memory:1044770816 total_system_memory_human:996.37M used_memory_lua:37888 used_memory_lua_human:37.00K maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction mem_fragmentation_ratio:1.03 mem_allocator:jemalloc-4.0.3 lazyfree_pending_objects:0 # Persistence loading:0 rdb_changes_since_last_save:6876033 rdb_bgsave_in_progress:0 rdb_last_save_time:1503481558 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:-1 rdb_current_bgsave_time_sec:-1 rdb_last_cow_size:0 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 aof_last_cow_size:0 # Stats total_connections_received:23 total_commands_processed:16508817 instantaneous_ops_per_sec:513 total_net_input_bytes:1358627279 total_net_output_bytes:2356537899 instantaneous_input_kbps:41.00 instantaneous_output_kbps:552.63 rejected_connections:0 sync_full:0 sync_partial_ok:0 sync_partial_err:0 expired_keys:20321 evicted_keys:0 keyspace_hits:3796517 keyspace_misses:1588914 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:0 migrate_cached_sockets:0 # Replication role:master connected_slaves:0 master_replid:9ba40bba4cef6177aa5cff0c69964cdee6a6ca21 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 # CPU used_cpu_sys:3633.24 used_cpu_user:18088.07 used_cpu_sys_children:0.00 used_cpu_user_children:0.00 # Cluster cluster_enabled:0 # Keyspace db0:keys=1435809,expires=723,avg_ttl=49231687326

注意

请注意,根据 Redis 的版本,某些字段已添加或删除。因此,健壮的客户端应用程序应该通过跳过未知属性来解析此命令的结果,并优雅地处理缺失的字段。

以下是 Redis> = 2.4的字段说明。

以下是服务器部分中所有字段的含义:

  • 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 和 Cluster 使用)
  • tcp_port:TCP / IP 侦听端口
  • uptime_in_seconds:自 Redis 服务器启动以来的秒数
  • uptime_in_days:以天为单位表示相同的值
  • lru_clock:每分钟递增一次,用于 LRU 管理

以下是客户部分中所有字段的含义:

  • connected_clients:客户端连接数(不包括从站的连接数)
  • client_longest_output_list:当前客户端连接中最长的输出列表
  • client_biggest_input_buf:当前客户端连接中最大的输入缓冲区
  • blocked_clients:阻塞呼叫中挂起的客户端数量(BLPOP,BRPOP,BRPOPLPUSH)

以下是内存部分中所有字段的含义:

  • used_memory:Redis 使用其分配程序分配的字节总数(标准 libcjemalloc 或替代分配程序,如 tcmalloc
  • used_memory_human:以前值的人类可读表示
  • used_memory_rss:操作系统看到的 Redis 分配的字节数(又称常驻集大小)。这是由诸如top(1)andps(1)之类的工具报告的数字
  • used_memory_peak:Redis 消耗的最高内存(以字节为单位)
  • used_memory_peak_human:以前值的人类可读表示
  • used_memory_lua:Lua 引擎使用的字节数
  • mem_fragmentation_ratioused_memory_rssused_memory 之间的比率
  • mem_allocator:内存分配器,在编译时选择

理想情况下,used_memory_rss价值应该只比略高used_memory。当使用rss >>时,差异很大意味着有内存碎片(内部或外部),可以通过检查来评估mem_fragmentation_ratio。当使用>> rss时,表示 Redis 内存的一部分已被操作系统换掉:期望有一些显着的延迟。

由于 Redis 无法控制其分配映射到内存页面的方式,高used_memory_rss是内存使用率通常会增加的结果。

当 Redis 释放内存时,内存将返回给分配器,并且分配器可能会或可能不会将内存释放回系统。used_memory操作系统报告的值和内存消耗之间可能存在差异。这可能是由于 Redis 已经使用和释放内存的事实,但并未回馈给系统。该used_memory_peak值通常用于检查这一点。

以下是持久性部分中所有字段的含义:

  • loading:表示转储文件的负载是否正在进行的标志
  • rdb_changes_since_last_save:自上次转储以来的更改次数
  • rdb_bgsave_in_progress:表示 RDB 保存的标志正在进行中
  • rdb_last_save_time:上次成功 RDB 保存的基于时代的时间戳
  • rdb_last_bgsave_status:最后一次 RDB 保存操作的状态
  • rdb_last_bgsave_time_sec:以秒为单位的最后一次 RDB 保存操作的持续时间
  • rdb_current_bgsave_time_sec:正在进行的 RDB 保存操作的持续时间(如果有)
  • aof_enabled:指示 AOF 记录的标志被激活
  • aof_rewrite_in_progress:表示正在进行 AOF 重写操作的标志
  • aof_rewrite_scheduled:一旦正在进行的 RDB 保存完成,将会计划指示 AOF 重写操作的标志。
  • aof_last_rewrite_time_sec:最后一次 AOF 重写操作的持续时间,以秒为单位
  • aof_current_rewrite_time_sec:正在进行的 AOF 重写操作的持续时间(如果有)
  • aof_last_bgrewrite_status:最后一次 AOF 重写操作的状态

changes_since_last_save 指的是自上次调用 SAVE 或 BGSAVE 以来在数据集中产生某种更改的操作数。

如果激活了 AOF,则会添加这些附加字段:

  • aof_current_size:AOF 当前文件大小
  • aof_base_size:最近启动或重写时的 AOF 文件大小
  • aof_pending_rewrite:一旦正在进行的 RDB 保存完成,将会计划指示 AOF 重写操作的标志。
  • aof_buffer_length:AOF 缓冲区的大小
  • aof_rewrite_buffer_length:AOF 重写缓冲区的大小
  • aof_pending_bio_fsync:后台 I / O 队列中 fsync 挂起作业的数量
  • aof_delayed_fsync:延迟 fsync 计数器

如果正在进行加载操作,则会添加这些附加字段:

  • loading_start_time:加载操作开始的基于时间点的时间戳
  • loading_total_bytes:文件总大小
  • loading_loaded_bytes:已加载的字节数
  • loading_loaded_perc:以百分比表示的相同数值
  • loading_eta_seconds:ETA 以秒为单位,负载完成

以下是统计部分中所有字段的含义:

  • total_connections_received:服务器接受的连接总数
  • total_commands_processed:服务器处理的命令总数
  • instantaneous_ops_per_sec:每秒处理的命令数
  • rejected_connections:由于maxclients限制而被拒绝的连接数
  • expired_keys:密钥到期事件的总数
  • evicted_keys:由于maxmemory限制而被驱逐的密钥数量
  • keyspace_hits:在主词典中成功查找键的次数
  • keyspace_misses:主字典中键的失败查找次数
  • pubsub_channels:客户订阅的发布/订阅频道的全部数量
  • pubsub_patterns:客户订阅的发布/订阅模式的全部数量
  • latest_fork_usec:以微秒为单位的最新分叉操作的持续时间

以下是复制部分中所有字段的含义:

  • role:如果实例是没有人的奴隶,则值为“主人”;如果实例是奴隶主人,则值为“奴隶”。请注意,从站可以是另一个从站的主站(雏菊链)。如果实例是从站,则提供以下附加字段:
  • master_host:主机的主机或IP地址
  • master_port:主控侦听 TCP 端口
  • master_link_status:链接的状态(向上/向下)
  • master_last_io_seconds_ago:自上次与主交互之后的秒数
  • master_sync_in_progress:指示主站正在同步到从站

如果正在进行 SYNC 操作,则会提供以下附加字段:

  • master_sync_left_bytes:同步完成之前剩余的字节数
  • master_sync_last_io_seconds_ago:SYNC操作期间自上次传输 I / O 以来的秒数

如果主站和从站之间的链路断开,则会提供附加字段:

  • master_link_down_since_seconds:自链路断开以来的秒数总是提供以下字段:
  • connected_slaves:连接的从站数量

对于每个从站,添加以下行:

  • slaveXXX:id,IP 地址,端口,stateHere 是 cpu 部分中所有字段的含义:
  • used_cpu_sys:Redis 服务器使用的系统 CPU
  • used_cpu_user:Redis 服务器使用的用户 CPU
  • used_cpu_sys_children:后台进程使用的系统 CPU
  • used_cpu_user_children: User CPU consumed by the background processes

所述 commandstats 部分提供基于该命令类型的统计信息,包括呼叫的数量,这些命令所消耗的总的 CPU 时间,和每命令执行所消耗的平均 CPU。

对于每个命令类型,添加以下行:

  • cmdstat_XXXcalls=XXX,usec=XXX,usec_per_call=XXX集群节目前只包含一个独特的领域:
  • cluster_enabled:表示启用了 Redis 群集

密钥空间部分提供了每个数据库的主词典的统计数据。统计信息是密钥的数量,以及过期密钥的数量。

对于每个数据库,添加以下行:

  • dbXXX: keys=XXX,expires=XXX
Redis

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 它通常被称为数据结构服务器,因为值( value )可以是 字符串( String ), 哈希(Map),列表(list),集合( sets ) 和 有序集合( sorted sets )等类型。

主页 https://redis.io/
源码 https://github.com/antirez/redis
发布版本 4.0.2

Redis目录

1.集合 | Cluster
2.连接 | Connection
3.Geo
4.Hashes
5.HyperLogLog
6.键 | Keys
7.列表 | Lists
8.Pub/Sub
9.脚本 | Scripting
10.服务器 | Server
11.设定 | Sets
12.排序集 | Sorted Sets
13.字符串 | Strings
14.事务 | Transactions
15.Redis Dump 命令
16.Redis DEL 命令
17.Redis 键(key)
18.Redis 命令
19.Redis 配置
20.Redis 简介
21.Redis RANDOMKEY 命令
22.Redis TTL 命令
23.Redis Pttl 命令
24.Redis PERSIST 命令
25.Redis Move 命令
26.Redis PEXPIREAT 命令
27.Redis Keys 命令
28.Redis Expireat 命令
29.Redis Expire 命令
30.Redis EXISTS 命令
31.Redis Mget 命令
32.Redis Getbit 命令
33.Redis Getset 命令
34.Redis Getrange 命令
35.Redis Get 命令
36.Redis SET 命令
37.Redis 字符串(String)
38.Redis Type 命令
39.Redis Renamenx 命令
40.Redis Rename 命令
41.Redis Incrby 命令
42.Redis Incr 命令
43.Redis Psetex 命令
44.Redis Msetnx 命令
45.Redis Mset 命令
46.Redis Strlen 命令
47.Redis Setrange 命令
48.Redis Setnx 命令
49.Redis Setex 命令
50.Redis Setbit 命令
51.Redis Hincrby 命令
52.Redis Hgetall 命令
53.Redis Hget 命令
54.Redis Hexists 命令
55.Redis Hdel 命令
56.Redis 哈希(Hash)
57.Redis Append 命令
58.Redis Decrby 命令
59.Redis Decr 命令
60.Redis Incrbyfloat 命令
61.Redis Blpop 命令
62.Redis 列表(List)
63.Redis Hvals 命令
64.Redis Hsetnx 命令
65.Redis Hset 命令
66.Redis Hmset 命令
67.Redis Hmget 命令
68.Redis Hlen 命令
69.Redis Hkeys 命令
70.Redis Hincrbyfloat 命令
71.Redis Lrem 命令
72.Redis Lrange 命令
73.Redis Lpushx 命令
74.Redis Lpush 命令
75.Redis Lpop 命令
76.Redis Llen 命令
77.Redis Linsert 命令
78.Redis Lindex 命令
79.Redis Brpoplpush 命令
80.Redis Brpop 命令
81.Redis Sdiff 命令
82.Redis Scard 命令
83.Redis Sadd 命令
84.Redis 集合(Set)
85.Redis Rpushx 命令
86.Redis Rpush 命令
87.Redis Rpoplpush 命令
88.Redis Rpop 命令
89.Redis Ltrim 命令
90.Redis Lset 命令
91.Redis Sunion 命令
92.Redis Srem 命令
93.Redis Srandmember 命令
94.Redis Spop 命令
95.Redis Smove 命令
96.Redis Smembers 命令
97.Redis Sismember 命令
98.Redis Sinterstore 命令
99.Redis Sinter 命令
100.Redis Sdiffstore 命令