Redis之info指令

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis之info指令

场景

redis提供了info指令,可以帮助用户查询redis服务运行期间内部的参数以及实时信息,根据这些信息可以帮助用户诊断问题或查看服务负载、内存压力等维度方面的信息。

info指令显示的信息繁多,分为9大块,每块都有非常多的参数,9大块如下:

  1. Server:服务器运行的环境参数。
  2. Clients:客户端相关信息。
  3. Memory:服务器运行内存统计数据。
  4. Persistence:持久化信息。
  5. Stats:通用统计数据。
  6. Replication:主从复制相关信息。
  7. CPU:CPU使用情况。
  8. Cluster:集群信息。
  9. KeySpace:键值对统计数量信息。

info可以一次性获取所有的信息,也可以按照模块获取信息。

输入info获取所有信息

127.0.0.1:6379> info
# Server
redis_version:6.2.3
redis_git_sha1:00000000
redis_git_dirty:0
......

输入info memory获取内存相关信息

127.0.0.1:6379> info memory
# Memory
used_memory:1976168
used_memory_human:1.88M
used_memory_rss:8441856
used_memory_rss_human:8.05M
used_memory_peak:4990200
......

输入info replication获取主从复制相关信息

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover

每条执行多少次指令

redis-cli info stats | grep ops

instantaneous_ops_per_sec:12

instantaneous_ops_per_sec(每秒瞬时运行次数)的值为12,意味着客户端每秒会发送12条指令到服务端执行,如果ops过高,可以通过monitor指令观察哪些key被访问的比较频繁,

monitor实时显示redis正在执行的指令,如果ops很高,那么控制就会瞬时输出很多的指令,可以通过ctrl+c中断输出。

root@f5cd3ecb4cd8:/data# redis-cli monitor
OK
1640764159.129379 [0 127.0.0.1:34272] "COMMAND"
1640764160.890701 [0 127.0.0.1:34272] "set" "hello" "1"

有多少客户端在连接

root@f5cd3ecb4cd8:/data# redis-cli info clients | grep connected_clients

connected_clients:4

connected_clients 表示目前有 4 个客户端正在与服务器建立连接,如果发现存在意料之外的连接数量,可以通过 client list 指令列出所有的客户端链接地址,确认链接源头。

root@f5cd3ecb4cd8:/data# redis-cli info stats | grep reject

rejected_connections:0

通过 rejected_connections 可以看到因为超出最大连接数限制而被拒绝连接的客户端连接次数,如果这个数字很大,可能是因为服务器的最大连接数设置的较低,可能需要调整 maxclient 参数。

占用了多少内存

通过 info memory 可以查看redis的占用内存信息。

root@f5cd3ecb4cd8:/data# redis-cli info memory | grep used | grep human

used_memory_human:1.90M # 内存分配器从操作系统分配的内存总量

used_memory_rss_human:8.05M # 操作系统(top命令)看到的内存占用

used_memory_peak_human:4.76M # Redis内存消耗的峰值

used_memory_lua_human:37.00K # lua脚本引擎占用的内存大小

如果内存占用过大,并且业务上没有可优化的空间,则需要考虑服务集群化,分摊每个服务的压力。

复制积压缓冲区有多大

root@f5cd3ecb4cd8:/data# redis-cli info replication | grep backlog

repl_backlog_active:0

repl_backlog_size:1048576 #积压缓冲区大小

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

复制积压缓冲区(buffer)的大小会影响到主从增量同步的效率,如果从节点因为网络或其他原因临时断开了对主节点的复制,这段时间的指令被存在buffer中,当从节点恢复后,可以继续通过buffer中继续同步数据,以此追赶主节点的数据,

由于buffer是环形的,如果buffer容量太小,或者从节点断开时间太长,此时buffer中的数据都会被新的数据覆盖,这时候从节点就会进入全量同步模式,将会很耗费CPU和网络资源,

积压缓冲区是共享的,不会因为从节点过多而线性增长,在实际应用中,如果实例的修改指令很频繁,就将buffer的的大小调大一些,如果比较空闲就调小一些。

sync_parial_err 表示主从增量同步失败的次数,通过该值来决定是否需要拓大积压缓冲区,如果失败的次数比较多,说明需要拓大缓冲区的大小,避免全量同步。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
14天前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
21 3
|
2月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Reids是否可以开启慢日志(slowlog)和执行config指令
【Azure Redis 缓存】Azure Reids是否可以开启慢日志(slowlog)和执行config指令
|
2月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG
【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG
|
4月前
|
存储 JSON NoSQL
Redis第五弹-HASH结构相关指令和介绍,计数功能Hash-哈希(Redis本来就是键值对结构,哈希,就相当于键值对嵌套了一个键值对)的多种指令Hset key field value-
Redis第五弹-HASH结构相关指令和介绍,计数功能Hash-哈希(Redis本来就是键值对结构,哈希,就相当于键值对嵌套了一个键值对)的多种指令Hset key field value-
|
5月前
|
NoSQL Redis 数据库
Redis中的常用命令非常丰富,涵盖了各种数据类型的基本操作以及服务器管理和维护的相关指令
【5月更文挑战第15天】Redis常用命令包括通用(如PING、SELECT)、键操作(KEYS、EXISTS、DEL)、字符串(SET、GET)、哈希(HSET、HGET)、列表(LPUSH、LPOP)、集合(SADD、SMEMBERS)和有序集合(ZADD、ZRANGE)等。这些命令用于数据操作及服务器管理,满足不同场景需求。了解更多命令,建议参考Redis官方文档。
56 2
|
4月前
|
消息中间件 NoSQL Redis
Redis第三弹,定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对应的数据类型)redis的数据类型hset key field value
Redis第三弹,定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对应的数据类型)redis的数据类型hset key field value
|
5月前
|
存储 NoSQL 前端开发
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—实战篇)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—实战篇)
45 0
|
5月前
|
存储 NoSQL 算法
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—上篇)(二)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—上篇)
60 0
|
5月前
|
存储 监控 NoSQL
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—上篇)(一)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—上篇)
52 0
|
10月前
|
NoSQL Redis 存储
Redis常用指令
Redis常用指令
153 0