一、文章介绍
本篇文章主要从一个Redis管理员,运维者的角度进行介绍,方便我们排查我解决问题。
redis-cli 是原生 Redis 自带的命令行工具,您可以在云主机或本地设备上通过 redis-cli 连接 Redis 数据库,进行数据管理。
更多 redis-cli 客户端的使用方法,请参考官方文档。
二、常用运维命令
1、连接到redis服务
bash
redis-cli -h <redis_ip_address> -p <port>
2、redis-cli运维命令
- auth <password> : 密码认证
- info:查看服务器的所有信息和统计
- info stats:查看运行状态
- info server:查看服务情况
- info clients:查看服务端连接情况
- info cpu:查看CPU使用情况
- info memory:查看情况使用情况
- info replication:查看主从同步信息
- config get databases:查看配置的databases数量
- select index:通过索引选择数据库
- dbsize:显示当前库中Key的数量
- keys *:查看选择的数据库下所有Key,Values值。
- keys <pattern>:通过正则表达式匹配Key
- set key value [expiration Ex seconds|Px milliseconds] [NX|XX]:设置给定 key 的值和过期时间
- get key:查看Key的值
- expire key seconds:设置给定 key 的过期时间,单位是秒
- del key [key ...]:删除一个或多个Key
- save:将数据同步保存到磁盘
- bgsave:将数据异步保存到磁盘
- flushdb:删除当前选择数据库中的所有key
- flushall:删除所有数据库中的所有key
- lastsave:返回上次成功将数据保存到磁盘的Unix时戳
- shutdown:将数据同步保存到磁盘,然后关闭Redis服务
- quit:关闭连接(connection)
3、Set命令详细介绍
bash
set key value [expiration Ex seconds|Px milliseconds] [NX|XX]
key
:你想要设置的 key。value
:与 key 关联的值。EXPIRATION
:这是一个可选参数,用于设置 key 的过期时间。你可以使用EX
来指定秒数,或者使用PX
来指定毫秒数。NX
:这也是一个可选参数,表示"Not Exists"。如果 key 不存在,则设置成功,返回OK
。如果 key 已经存在,则设置失败,返回NIL
。XX
:这是另一个可选参数,表示"Exists"。如果 key 已经存在,则设置成功,返回OK
。如果 key 不存在,则设置失败,返回NIL
。
示例:
- 设置一个 key,值为 "hello",并设置过期时间为 60 秒:
bash
SET mykey hello EX 60
- 仅在 key 不存在时设置其值:
bash
SET mykey hello NX
- 仅在 key 已经存在时更新其值:
bash
SET mykey world XX
三、哨兵模式手动切换主从
-
获取节点优先级:
使用redis-cli命令连接每一个redis服务,使用
config get slave-priority
命令获取所有节点的优先级。 -
调整优先级:
1、使用
config set slave-priority <parameter>
命令将目标从节点的优先级调整为比当前主节点更低,以确保在哨兵进行故障转移时选择该从节点作为新的主节点(parameter表示优先级的值为正整数
)。
2、使用config rewrite保存设置的值。 -
执行故障转移:
使用
sentinel failover <parameter>
命令触发哨兵的故障转移操作,将选定的从节点升级为新的主节点。 -
确认切换结果:
使用
info Replication
命令确认主从切换是否成功。
四、更多Redis文章跟篇
【部署篇】Redis-01介绍
【部署篇】Redis-02单机模式部署(源码方式安装)
【部署篇】Redis-03主从模式部署(源码方式安装)
【部署篇】Redis-04哨兵模式部署(源码方式安装)