news 2026/5/13 7:55:06

Redis常见管理命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Redis常见管理命令

Redis常见管理命令

一、基础命令

1.同步执行 RDB 持久化(阻塞主线程),慎用!

127.0.0.1:6389> save OK

2.异步执行 RDB 持久化(fork 子进程)

bgsave

3.返回当前实例的角色(master/slave/sentinel)

role 示例如下: master角色: 127.0.0.1:6389> role 1) "master" 2) (integer) 6022666659 3) 1) 1) "192.0.5.30" 2) "6389" 3) "6022666371" 2) 1) "192.0.6.221" 2) "6389" 3) "6022666371" slave角色: 127.0.0.1:6389> role 1) "slave" 2) "192.0.6.17" 3) (integer) 6389 4) "connected" 5) (integer) 6022666226 sentinel角色: 127.0.0.1:7389> role 1) "sentinel" 2) 1) "mymaster"

二:分片集群(Cluster)运维命令

打印集群的整体信息 cluster info 列出集群中所有节点及其状态 cluster nodes 检查集群 redis-cli --cluster check 192.0.6.73:8001 -a "******" 为新节点分配哈希槽(reshard) redis-cli --cluster reshard 192.168.1.101:8003 -a "******" 删除节点 redis-cli --cluster del-node 192.168.1.103:8001 7af3a74056926943fe82649659b6e2c46997a8f1 -a "******" 新增Master节点: redis-cli --cluster add-node 192.168.1.101:8003 192.168.1.101:8001 -a "******" 新增Slave节点: –cluster-slave表示新加入节点是slave节点,cluster-master-id 后面指定从节点属于哪个master节点,接master节点的id即可 redis-cli --cluster add-node 192.168.1.101:8004 192.168.1.101:8003 --cluster-slave --cluster-master-id cccc3b110d71ae99dbe9a02d7b9a846243cce7c9 -a "******" 迁移slot: redis-cli --cluster reshard 192.168.1.103:8001 -a "******" 平衡slot: redis-cli --cluster rebalance 192.168.1.101:8003 -a "******" 将指定节点添加到当前集群 cluster meet <ip> <port> 从集群中移除指定节点 cluster forget <node-id> 将当前节点设置为指定主节点的从节点 cluster replicate 将集群配置保存到节点配置文件中 cluster saveconfig 将一个或多个槽指派给当前节点 cluster addslots [slot ...] 移除当前节点上的槽指派 cluster delslots [slot …] 移除当前节点的所有槽 cluster flushslots 将槽指派给指定节点 cluster setslot <slot> node <node-id>

计算key所属的槽位

计算 key 所属的槽位 cluster keyslot <key> 示例如下: 127.0.0.1:8001> cluster keyslot a (integer) 15495 127.0.0.1:8001> cluster keyslot b (integer) 3300 127.0.0.1:8001> cluster keyslot c (integer) 7365 127.0.0.1:8001> cluster keyslot 1 (integer) 9842 127.0.0.1:8001> cluster keyslot 2 (integer) 5649 127.0.0.1:8001> cluster keyslot 3 (integer) 1584

返回槽位中包含的 key 数量

cluster countkeysinslot <slot> 示例如下: 192.0.6.73:8004> cluster countkeysinslot 7365 (integer) 1

创建分片集群

Redis 5,Redis 6版本: redis-cli --cluster create 192.168.1.101:8001 192.168.1.101:8002 192.168.1.102:8001 192.168.1.102:8002 192.168.1.103:8001 192.168.1.103:8002 --cluster-replicas 1 -a "******"

列出所有的客户端连接

列出所有客户端连接 client list

配置管理命令

获取指定配置参数的值,CONFIG GET * 查看所有

config get <parameter> 示例如下: 192.0.6.73:8004> config get dir 1) "dir" 2) "/redis/8004/data" 192.0.6.73:8004> config get * 1) "rdbchecksum" 2) "yes" ...... 295) "oom-score-adj-values" 296) "0 200 800"

三、动态修改配置参数(重启后失效)

config set <parameter> <value> 示例如下: 192.0.6.73:8004> config get slowlog-max-len 1) "slowlog-max-len" 2) "128" 192.0.6.73:8004> config set slowlog-max-len 256 OK 192.0.6.73:8004> config get slowlog-max-len 1) "slowlog-max-len" 2) "256"

四、将当前配置持久化到 redis.conf 文件

config rewrite 示例如下: 127.0.0.1:8001> config get slowlog-max-len 1) "slowlog-max-len" 2) "128" 127.0.0.1:8001> config set slowlog-max-len 256 OK 127.0.0.1:8001> config get slowlog-max-len 1) "slowlog-max-len" 2) "256" cat /redis/8001/conf/redis.conf |grep slowlog-max-len slowlog-max-len 128 127.0.0.1:8001> config rewrite OK cat /redis/8001/conf/redis.conf |grep slowlog-max-len slowlog-max-len 256

重置 INFO 命令中的统计信息

config resetstat 示例如下: 127.0.0.1:8001> config resetstat OK

扫描并找出大 key

redis-cli --bigkeys 示例如下: redis-cli -p 6389 -a "flzx3Qc!" --bigkeys

目标生产库进行压测

压测: 100个客户端,同时请求redis,一共执行20000次。 redis-benchmark -p 6389 -h 25.19.118.70 -c 100 -n 20000 500个客户端,同时请求redis,一共执行20000次。 redis-benchmark -p 6389 -h 25.19.118.70 -a yELxh_3qSiXr -c 500 -n 20000 -q

五、通用操作

切换数据库(指定数据库 0-15,默认 0)

select <db_index> 示例如下: 127.0.0.1:6389> select 5 OK 127.0.0.1:6389[5]>
1、删除一个或多个 key
del <key...> 示例如下 127.0.0.1:6389> del a (integer) 1 127.0.0.1:6389> del b c (integer) 2

非阻塞删除(异步删除)

unlink <key...> 示例如下 127.0.0.1:6389> unlink a (integer) 1 不支持多个 127.0.0.1:6389> ulink b c (error) ERR unknown command `ulink`, with args beginning with: `b`, `c`,

判断 key 是否存在

exists <key> 示例如下: 127.0.0.1:6389> exists abc (integer) 1 127.0.0.1:6389> exists bcd (integer) 0

查看 key 剩余生存时间(秒)

127.0.0.1:6389> set a 123 OK 127.0.0.1:6389> ttl a (integer) -1 127.0.0.1:6389> set b 123 ex 100 OK 127.0.0.1:6389> ttl b (integer) 97

查看 key 剩余生存时间(毫秒)

pttl <key> 示例如下 127.0.0.1:6389> pttl b (integer) 82033

为 key 设置过期时间(秒)

expire <key> <seconds> 示例如下: 127.0.0.1:6389> ttl a (integer) -1 127.0.0.1:6389> expire a 100 (integer) 1 127.0.0.1:6389> ttl a (integer) 97

以毫秒为单位设置过期时间

pexpire <key> <milliseconds> 示例如下: 127.0.0.1:6389> pexpire a 100000 (integer) 1 127.0.0.1:6389> ttl a (integer) 98 127.0.0.1:6389> pttl a (integer) 78329

设置 key 在指定时间戳过期

expireat <key> <timestamp> 示例如下 127.0.0.1:6389> expireat a 78329 (integer) 1 127.0.0.1:6389> ttl a (integer) -2 127.0.0.1:6389> get a (nil)
2、移除 key 的过期时间,使其永久有效
persist <key> 示例如下 127.0.0.1:6389> set a 123 ex 60 OK 127.0.0.1:6389> ttl a (integer) 57 127.0.0.1:6389> persist a (integer) 1 127.0.0.1:6389> ttl a (integer) -1查看 key 的数据类型
type <key> 示例如下 127.0.0.1:6389> type a string
3、查看 key 的内部编码格式
object encoding <key> 示例如下 127.0.0.1:6389> object encoding a "int" 127.0.0.1:6389> get a "123" 127.0.0.1:6389> set b 123abc OK 127.0.0.1:6389> object encoding b "embstr"
4、重命名 key,若新 key 存在则覆盖
rename <oldkey> <newkey> 示例如下 127.0.0.1:6389> set a 123 OK 127.0.0.1:6389> set b 456 OK 127.0.0.1:6389> rename a b OK 127.0.0.1:6389> get b "123" 127.0.0.1:6389> get a (nil)
5、重命名 key,仅当新 key 不存在时成功
renamenx <oldkey> <newkey> 示例如下 127.0.0.1:6389> set a 123 OK 127.0.0.1:6389> set b 456 OK 127.0.0.1:6389> renamenx a b (integer) 0 127.0.0.1:6389> get b "456" 127.0.0.1:6389> get a "123" 127.0.0.1:6389> renamenx a c (integer) 1 127.0.0.1:6389> get c "123"
6、将 key 移动到另一个数据库
move <key> <db_index> 示例如下 127.0.0.1:6389> set a 123 OK 127.0.0.1:6389> move a 5 (integer) 1 127.0.0.1:6389> get a (nil) 127.0.0.1:6389> select 5 OK 127.0.0.1:6389[5]> get a "123"

从当前数据库随机返回一个 key

randomkey 示例如下 127.0.0.1:6389> randomkey "b" 127.0.0.1:6389> randomkey "d" 127.0.0.1:6389> randomkey "e"

查找匹配模式的 key(生产环境慎用)

keys <pattern> 示例如下 127.0.0.1:6389> keys a (empty array) 127.0.0.1:6389> keys b 1) "b" 127.0.0.1:6389> get b "456" 或者指定"*",查看所有(默认db0),性能差,生产环境勿用 127.0.0.1:6389> keys * 1) "abc" 2) "b" 3) "e" 4) "a02" 5) "g" 6) "d" 7) "a01" 8) "20260127" 9) "h" 10) "c" 支持通配符 127.0.0.1:6389> keys a* 1) "abc" 2) "a02" 3) "a01"
7、序列化 key 并返回其值
dump <key> 通过 序列化 和 反序列化操作,可以实现对单个key的备份/恢复、迁移等工作。 示例如下: 127.0.0.1:6389> set a 123 OK 127.0.0.1:6389> get a "123" 127.0.0.1:6389> dump a "\x00\xc0{\t\x00\x98\x10\x02-T\xfc\x04\b" 127.0.0.1:6389>
8.对列表、集合或有序集合进行排序
sort <key> 示例如下 对列表(List)进行数字升序排序 127.0.0.1:6389> LPUSH numbers 5 2 3 6 1 (integer) 5 127.0.0.1:6389> sort numbers 1) "1" 2) "2" 3) "3" 4) "5" 5) "6" 127.0.0.1:6389> sort numbers desc 1) "6" 2) "5" 3) "3" 4) "2" 5) "1"

六、不同类型 keys 的操作

1.字符串(String)操作

设置字符串值,支持过期时间和存在性判断 set <key> <value> [NX|XX] [EX|PX] 示例如下 127.0.0.1:6389> set cjc 123 ex 10 OK 获取 key 的值 get <key> 示例如下 127.0.0.1:6389> get cjc "123" 批量设置多个字符串值 mset <key> <value> [key value ...] 示例如下 127.0.0.1:6389> mset cjc01 1 cjc02 b cjc03 c OK 127.0.0.1:6389> keys cjc* 1) "cjc03" 2) "cjc01" 3) "cjc02" 批量获取多个 key 的值 mget <key...> 示例如下 127.0.0.1:6389> mget cjc01 cjc02 cjc03 1) "1" 2) "b" 3) "c" 设置值并指定过期时间(秒) setex <key> <seconds> <value> 示例如下 127.0.0.1:6389> setex cjc04 100 3 OK 127.0.0.1:6389> get cjc04 "3" 127.0.0.1:6389> ttl cjc04 (integer) 92 以毫秒为单位设置值并指定过期时间 psetex <key> <milliseconds> <value> 示例如下 127.0.0.1:6389> psetex cjc05 100000 100 OK 127.0.0.1:6389> get cjc05 "100" 127.0.0.1:6389> ttl cjc05 (integer) 91 127.0.0.1:6389> pttl cjc05 (integer) 83576 不存在时设置值 setnx <key> <value> key 示例如下 127.0.0.1:6389> setnx cjc05 100 (integer) 0 127.0.0.1:6389> setnx cjc06 100 (integer) 1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 7:54:04

AI 短剧系统快速部署,轻量化搭建,小白也能轻松运营落地

当下 AI 短剧创业已成热门轻资产赛道&#xff0c;很多个人创业者、中小团队想入局&#xff0c;却卡在开发周期长、技术门槛高、后台复杂难运营等问题。 一套AI 短剧系统支持极速快速部署&#xff0c;无需专业技术功底&#xff0c;搭建流程极简&#xff0c;运营门槛极低&#xf…

作者头像 李华
网站建设 2026/5/13 7:53:04

兼容性是核心底气——安科士高兼容性光模块的技术解析与工程价值

在工业光通信领域&#xff0c;“稳定”与“可靠”是核心诉求&#xff0c;而光模块作为光通信链路的核心组件&#xff0c;其性能直接决定了整个通信系统的运行效率与稳定性。安科士&#xff08;AndXe&#xff09;旗下ANBR系列光模块&#xff0c;凭借军工级品质在工业控制、能源电…

作者头像 李华
网站建设 2026/5/13 7:53:04

2026年免费RPA选型踩坑实录:72小时压力测试对比

AI摘要&#xff1a;本文基于2026年Q1实际项目&#xff0c;对三款免费RPA工具进行72小时压力测试。测试环境&#xff1a;Windows 11/银河麒麟V10/16G内存。结论&#xff1a;信创环境优先选支持国产系统的工具&#xff0c;国际化大企业选功能全面的国际品牌&#xff0c;业务人员快…

作者头像 李华
网站建设 2026/5/13 7:49:13

多个ssl证书合成1个证书执行,一次行执行

cat test1.cert test2.cert > cert.crt转换成可以一次行执行的证书 openssl crl2pkcs7 -nocrl -certfile cert.crt -out cert.p7b 使用管理员打开 cmd 导入证书 certutil -addstore -f Root C:\Users\25069\Desktop\cert.p7b

作者头像 李华
网站建设 2026/5/13 7:47:22

零基础避坑指南什么工具可以录音转待办

还在手动把面试录音扒成文字再摘待办&#xff1f;做HR的谁没踩过这个坑&#xff1a;整理一小时&#xff0c;漏了候选人关键信息&#xff0c;还把待办记错&#xff0c;今天直接讲能直接上手的方法&#xff0c;零基础也不会踩坑。我做HR那几年&#xff0c;光整理录音待办就熬了无…

作者头像 李华