目录
序言:
redis中info命令可以很直观的通过各种维度属性描述信息告知我们当前redis的状态。我们可以通过此命令构建redis的实时监控系统。在上线之前的压测过程中,监控redis的各运行指标状态再结合系统本身的需求,可以提前进行配置优化设置。所以懂得redis中info命令返回的结果是一个redis使用者的基础条件。info命令从Server,Clients,Memory,Persistence,Stats,Replication,CPU,Cluster,Keyspace这9个维度告知使用者自己当前状态。建议不要自己简单看一遍就算了,自己主动敲一遍不说全部明白所以命令意思,但至少对于几个核心的要大致明白其意思(当前测试版本为5.0)。详细解释可以自行翻查server.h,
1:Server
对于redis所在服务器的基础环境进行描述
redis_version | redis的版本。demo:5.0.4 |
redis_git_sha1 | Git SHA1 |
redis_git_dirty | Git dirty flag |
redis_build_id | build id redis生成唯一id |
redis_mode | redis部署模式(standalone、Sentinel、Cluster)默认:standalone |
os | 当前服务器的操作系统。demo:Linux 4.9.184-linuxkit x86_64 |
arch_bits | 当前操作系统是32位还是64位 |
multiplexing_api | redis使用的事件处理机制模式默认为epoll |
atomicvar_api | Redis使用的Atomicvar API |
gcc_version | 编译redis的gcc编译器的版本号。demo:8.2.1 |
process_id | 该服务在系统的进程id |
run_id | redis服务器的随机id,此处作为(哨兵和集群)中的唯一标示 |
tcp_port | 使用tcp端口默认6379 |
uptime_in_seconds | redis存活时间按秒计算 |
uptime_in_days | redis存活时间按天计算 |
hz | redis内部调度频率。(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行次数。默认为10 |
configured_hz | |
lru_clock | 自增的时钟,用于LRU算法管理,该时钟为(1000/设置的值:执行一次定时任务serverCron)更新一次。默认10则100ms更新一次 |
executable | 执行启动文件在服务器路径信息 |
config_file | 配置文件在服务器路径信息 |
Demo:
2:Clients
对于客户端连接的一些信息
connected_clients | 当前所有客户端连接redis的连接数(不包括通过从属服务器连接的客户端) |
client_recent_max_input_buffer |
当前连接的客户端中最大输入 |
client_recent_max_output_buffer |
当前连接的客户端中最大输出 |
blocked_clients | 因执行一些命令(BLPOP、BRPOP、BRPOPLPUSH)而导致阻塞的客户端数 |
Demo: