redis管理命令-info

本文详细介绍了Redis服务器的各项信息指标,包括版本、操作系统、内存使用情况、客户端连接状态、持久化设置、统计信息、复制机制等内容,帮助读者深入了解Redis服务器的工作状态。

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 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。
used_memory_peak : Redis 的内存消耗峰值(以字节为单位)
used_memory_peak_human : 以人类可读的格式返回 Redis 的内存消耗峰值
used_memory_lua : Lua 引擎所使用的内存大小(以字节为单位)
mem_fragmentation_ratio : used_memory_rss 和 used_memory 之间的比率
mem_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。
在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。
当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。
当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。
当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。
如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。

查看 used_memory_peak 的值可以验证这种情况是否发生。
persistence : RDB 和 AOF 的相关信息
stats : 一般统计信息
replication : 主/从复制信息
cpu : CPU 计算量统计信息
commandstats : Redis 命令统计信息
cluster : Redis 集群信息
keyspace : 数据库相关的统计信息

Redis-Sys 7.4.2 是 Redis 的一个版本,它支持丰富的命令集,用于操作和管理 Redis 数据库。以下是一些常用的命令及其用途: ### 基础命令 1. **连接与认证** - `redis-cli -h 127.0.0.1 -p 6379`:使用 `redis-cli` 工具连接到本地运行的 Redis 服务[^1]。 - `AUTH password`:如果 Redis 配置了密码保护,使用此命令进行认证。 2. **键操作** - `SET key value`:设置指定键的值。 - `GET key`:获取指定键的值。 - `DEL key`:删除指定键。 - `EXISTS key`:检查指定键是否存在。 - `TTL key`:获取指定键的剩余生存时间(以秒为单位)。 3. **数据类型操作** - **字符串** - `INCR key`:将指定键的值增加 1。 - `DECR key`:将指定键的值减少 1。 - **列表** - `LPUSH key value`:将值插入到列表头部。 - `RPUSH key value`:将值插入到列表尾部。 - `LPOP key`:移除并返回列表的第一个元素。 - `RPOP key`:移除并返回列表的最后一个元素。 - **集合** - `SADD key member`:向集合中添加成员。 - `SMEMBERS key`:获取集合中的所有成员。 - `SREM key member`:从集合中移除成员。 - **哈希表** - `HSET key field value`:设置哈希表中字段的值。 - `HGET key field`:获取哈希表中字段的值。 - `HDEL key field`:删除哈希表中的字段。 4. **服务器管理** - `INFO`:获取 Redis 服务器的各种信息和统计。 - `PING`:测试 Redis 服务器是否响应。 - `SHUTDOWN`:关闭 Redis 服务器。 ### 高级功能 1. **主从复制** - `SLAVEOF host port`:将当前实例配置为指定主机和端口的从服务器。 - `SLAVEOF NO ONE`:停止复制,将当前实例变为主服务器。 2. **哨兵机制** - `SENTINEL MONITOR master-name ip port quorum`:监控指定的主服务器。 - `SENTINEL GET-MASTER-ADDR-BY-NAME master-name`:获取指定主服务器的地址和端口。 - `SENTINEL RESET pattern`:重置所有匹配模式的主服务器的哨兵状态。 3. **集群管理** - `CLUSTER NODES`:显示集群节点信息。 - `CLUSTER MEET ip port`:让当前节点与其他节点握手,加入集群。 - `CLUSTER ADDSLOTS slot1 slot2 ... slotN`:分配槽位给当前节点。 ### 示例代码 以下是一个简单的 Python 脚本,演示如何使用 `redis-py` 库连接到 Redis 服务器并执行一些基本命令: ```python import redis # 连接到 Redis 服务器 r = redis.StrictRedis(host='127.0.0.1', port=6379, db=0) # 设置键值 r.set('mykey', 'myvalue') # 获取键值 value = r.get('mykey') print(f"Value of 'mykey': {value.decode()}") # 删除键 r.delete('mykey') ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值