Files

106 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

# Redis 常用命令使用指南
本手册涵盖了 Redis 日常运维、开发及 Sentinel 高可用管理中常用的核心命令。
## 一、 基础连接与管理
### 1.1 连接命令
```bash
# 标准连接
redis-cli -h <host> -p <port> -a <password>
# 连接哨兵节点示例
redis-cli -h ${REDIS_MASTER_IP} -p 26379 -a afe123456
```
### 1.2 系统管理
| 命令 | 说明 |
| :--- | :--- |
| `PING` | 检查连接是否存活,返回 PONG 表示正常 |
| `AUTH <password>` | 身份验证 |
| `SELECT <db_index>` | 切换数据库(默认 0-15) |
| `INFO` | 查看服务器详细信息(CPU、内存、持久化、主从等) |
| `CONFIG GET <parameter>` | 获取配置参数 |
| `CONFIG SET <parameter> <value>` | 动态修改配置参数(不持久化到文件,需执行 REWRITE) |
| `CONFIG REWRITE` | 将动态修改的配置重写到配置文件中 |
| `DBSIZE` | 返回当前数据库中的 key 数量 |
| `FLUSHDB` | 清空当前数据库中所有 key(谨慎使用) |
| `FLUSHALL` | 清空所有数据库中所有 key(谨慎使用) |
---
## 二、 键值对操作 (Key)
| 命令 | 说明 |
| :--- | :--- |
| `KEYS <pattern>` | 查找符合模式的 key(生产环境严禁使用 `KEYS *`,建议用 `SCAN`) |
| `EXISTS <key>` | 判断 key 是否存在 |
| `DEL <key>` | 删除 key |
| `TYPE <key>` | 查看 key 存储的数据类型 |
| `EXPIRE <key> <seconds>` | 设置 key 的过期时间(秒) |
| `TTL <key>` | 查看 key 的剩余存活时间(-1 永久,-2 已过期) |
| `RENAME <key> <newkey>` | 修改 key 名称 |
---
## 三、 常用数据结构操作
### 3.1 字符串 (String)
- `SET <key> <value>`: 设置键值。
- `GET <key>`: 获取值。
- `INCR <key>`: 自增 1。
- `SETEX <key> <seconds> <value>`: 设置键值及过期时间。
### 3.2 列表 (List)
- `LPUSH <key> <value>`: 从左侧插入。
- `RPUSH <key> <value>`: 从右侧插入。
- `LPOP <key>`: 从左侧弹出。
- `LRANGE <key> <start> <stop>`: 获取范围内的元素。
### 3.3 哈希 (Hash)
- `HSET <key> <field> <value>`: 设置哈希字段。
- `HGET <key> <field>`: 获取哈希字段。
- `HGETALL <key>`: 获取所有字段和值。
### 3.4 集合 (Set)
- `SADD <key> <member>`: 添加元素。
- `SMEMBERS <key>`: 获取所有成员。
- `SISMEMBER <key> <member>`: 判断是否为成员。
---
## 四、 Sentinel (哨兵) 核心管理命令
通过 `redis-cli` 连接哨兵端口(默认 26379)后执行:
| 命令 | 说明 |
| :--- | :--- |
| `SENTINEL masters` | **查看哨兵监控的所有主节点状态** |
| `SENTINEL master <name>` | 查看指定主节点的详细信息 |
| `SENTINEL slaves <name>` | **查询指定主节点(如 mymaster)下的所有从节点** |
| `SENTINEL sentinels <name>` | **列出除当前连接外的其他 Sentinel 实例** |
| `SENTINEL get-master-addr-by-name <name>` | 获取当前有效的主节点 IP 和端口 |
| `SENTINEL ckquorum <name>` | 检查当前哨兵数量是否满足法定人数 |
| `SENTINEL failover <name>` | **手动强制触发故障转移** |
| `SENTINEL reset <pattern>` | **重置配置,清除过期或不在线的从节点/哨兵信息** |
---
## 五、 持久化与同步运维
| 命令 | 说明 |
| :--- | :--- |
| `SAVE` | 同步保存数据到磁盘(会阻塞 Redis) |
| `BGSAVE` | 异步保存数据到磁盘 |
| `BGREWRITEAOF` | 异步重写 AOF 文件 |
| `LASTSAVE` | 查看最后一次成功保存到磁盘的时间戳 |
| `ROLE` | 查看当前实例的角色(master/slave/sentinel) |
---
## 六、 官方文档参考
- [Redis Commands (Official)](https://redis.io/commands)
- [Redis Sentinel Documentation](https://redis.io/docs/management/sentinel/)
- [Redis Administration](https://redis.io/docs/management/admin/)