返回首页

Redis入门1.4: 常用命令速查与 CLI 技巧

适用版本:Redis 7.2.x

学 Redis 时,很多人前几天还记得命令,过两周就忘得差不多了。原因并不一定是学得不认真,而是 Redis 命令本身比较多,而且很多命令只有在真实操作中反复使用,才会形成稳定记忆。

所以这篇文章不主打“系统理论”,而是做一篇更偏实战的整理:

  • 常见命令按主题归类速查
  • redis-cli 的高频使用方式
  • 查看 key、过期时间、类型、库信息的方法
  • 一些学习阶段特别实用的小技巧

你可以把这篇文章当成:

Redis 入门阶段的随手查阅表 + 交互式 CLI 练习指南。


一、先认识 redis-cli

redis-cli 是 Redis 自带的命令行客户端,也是学习 Redis 最重要的工具之一。

很多时候,先别急着写 Java、Go、Python 代码,直接在 CLI 里把命令跑通,理解会快得多。

最基础的连接方式:

redis-cli

如果 Redis 不在本机默认端口,可以指定主机和端口:

redis-cli -h 127.0.0.1 -p 6379

如果配置了密码:

redis-cli -h 127.0.0.1 -p 6379 -a yourpassword

连接成功后,常见提示符类似:

127.0.0.1:6379>

二、入门第一组必会命令

1. 服务连通性检查:PING

PING

正常返回:

PONG

2. 最基础的写入与读取:SET / GET

SET name "redis"
GET name

3. 删除 key:DEL

DEL name

4. 判断 key 是否存在:EXISTS

EXISTS name

5. 查看 key 类型:TYPE

TYPE name

这个命令特别实用。因为很多报错本质上都是:

你以为它是 String,结果它其实是 Hash / List / Set。


三、与过期时间相关的高频命令

Redis 之所以特别适合缓存,一个重要原因就是支持 TTL 管理。以下命令非常常用。

1. 设置过期时间:EXPIRE

SET code "123456"
EXPIRE code 60

表示让 code 在 60 秒后过期。

2. 查询剩余过期时间:TTL

TTL code

常见返回语义:

  • 大于等于 0:剩余秒数
  • -1:存在但没有设置过期时间
  • -2:key 不存在

3. 毫秒级过期:PEXPIRE / PTTL

SET temp "x"
PEXPIRE temp 1500
PTTL temp

4. 写入时直接带过期时间:SET ... EX

SET login:token "abc123" EX 1800

学习与实践中非常推荐这种方式,因为“写入 + 过期”一步完成,不容易漏掉。

5. 取消过期:PERSIST

SET session:data "v" EX 300
PERSIST session:data
TTL session:data

执行 PERSIST 后,该 key 会变成永久键。


四、key 级别的常用查看命令

1. 查看当前库 key 数量:DBSIZE

DBSIZE

2. 随机查看一个 key:RANDOMKEY

RANDOMKEY

适合学习阶段观察库里都有什么,但不适合依赖其结果做业务逻辑。

3. 重命名 key:RENAME

SET old:key "demo"
RENAME old:key new:key
GET new:key

4. 移动 key 到其他数据库:MOVE

SET move:key "v"
MOVE move:key 1

5. 清空当前数据库:FLUSHDB

FLUSHDB

6. 清空所有数据库:FLUSHALL

FLUSHALL

注意:FLUSHDBFLUSHALL 都是危险命令。学习环境可用,生产环境必须谨慎。


五、扫描与查看 key:KEYSSCAN

1. KEYS

KEYS *
KEYS user:*
KEYS order:*:detail

它很直观,但需要特别强调:

在生产环境里,通常不建议滥用 KEYS,因为它会一次性扫描匹配键空间,数据量大时可能带来性能压力。

2. SCAN

更推荐逐步扫描:

SCAN 0

带模式匹配:

SCAN 0 MATCH user:* COUNT 100

SCAN 的优点是渐进式返回,更适合在线环境排查。学习阶段建议两者都试一遍,感受差异。


六、字符串类速查

核心命令

SET key value
GET key
MSET k1 v1 k2 v2
MGET k1 k2
INCR counter
DECR counter
INCRBY counter 10
APPEND key ":suffix"
STRLEN key
GETSET key newValue

示例

SET visits 10
INCR visits
INCRBY visits 5
GET visits

七、Hash 类速查

核心命令

HSET user:1001 name "Alice" age "20"
HGET user:1001 name
HMGET user:1001 name age
HGETALL user:1001
HEXISTS user:1001 age
HDEL user:1001 age
HLEN user:1001
HKEYS user:1001
HVALS user:1001
HINCRBY article:100 likes 1

示例

HSET user:1001 name "Alice" city "Beijing"
HGETALL user:1001

八、List 类速查

核心命令

LPUSH queue a b c
RPUSH queue x y z
LRANGE queue 0 -1
LPOP queue
RPOP queue
LLEN queue
LINDEX queue 0
LSET queue 1 "newValue"
LTRIM queue 0 9

示例

DEL queue
RPUSH queue job1 job2 job3
LRANGE queue 0 -1
LPOP queue
LRANGE queue 0 -1

九、Set 类速查

核心命令

SADD tags redis cache nosql
SMEMBERS tags
SISMEMBER tags redis
SREM tags cache
SCARD tags
SINTER set1 set2
SUNION set1 set2
SDIFF set1 set2

示例

SADD follow:user:1 101 102 103
SADD follow:user:2 102 103 104
SINTER follow:user:1 follow:user:2

十、ZSet 类速查

核心命令

ZADD rank 100 alice 90 bob 120 tom
ZRANGE rank 0 -1
ZRANGE rank 0 -1 WITHSCORES
ZREVRANGE rank 0 2 WITHSCORES
ZSCORE rank alice
ZINCRBY rank 10 bob
ZRANK rank bob
ZREVRANK rank bob
ZREM rank alice
ZRANGEBYSCORE rank 80 120 WITHSCORES

示例

ZADD leaderboard 800 user1 1200 user2 950 user3
ZREVRANGE leaderboard 0 2 WITHSCORES

十一、通用排查命令:非常建议记住

1. TYPE

确认 key 的数据类型:

TYPE user:1001

2. TTL

确认 key 是否会过期:

TTL user:1001

3. OBJECT ENCODING

查看 Redis 内部编码方式:

OBJECT ENCODING user:1001

学习阶段可以偶尔看一下,帮助理解 Redis 对不同结构可能采用不同内部表示。

4. INFO

查看 Redis 运行信息:

INFO

也可以只看某个部分:

INFO memory
INFO stats
INFO server
INFO keyspace

这是排查内存、连接数、命中率、数据库状态时非常常用的命令。


十二、redis-cli 的几个实用技巧

1. 直接执行单条命令后退出

不进入交互模式,直接执行:

redis-cli GET name

这在脚本、排查或快速验证时很方便。

2. 进入交互模式更适合学习

redis-cli

然后一条条执行命令。对于初学者来说,这是最好的学习方式。

3. 使用 --raw 让输出更干净

redis-cli --raw GET name

当你不想看到额外的引号样式时,这很实用。

4. 使用 -n 指定数据库

redis-cli -n 1

进入数据库 1。

也可以连接后再切换:

SELECT 1

5. 在 CLI 中查看帮助

redis-cli --help

或者查看某条 Redis 命令帮助:

redis-cli COMMAND HELP SET

这对学习和排错都非常有帮助。


十三、一个推荐的练习顺序

如果你刚开始学 Redis,我很建议用下面顺序练习,而不是东一条西一条乱敲。

第一步:确认服务正常

PING
INFO server

第二步:练 key 基础能力

SET demo "hello"
GET demo
TYPE demo
DEL demo
EXISTS demo

第三步:练过期机制

SET code "1234" EX 30
TTL code
PERSIST code
TTL code

第四步:分别练五类数据结构

  • String
  • Hash
  • List
  • Set
  • ZSet

每种结构都至少练:

  • 写入
  • 读取
  • 删除/修改
  • 查看长度或成员

第五步:练排查命令

DBSIZE
SCAN 0
INFO memory
INFO keyspace

这样练完之后,你对 Redis 的“手感”会明显提升。


十四、实践建议

1. 学命令时不要只背名字,要背“语义”

比如:

  • INCR 背后的语义是“原子计数”
  • EXPIRE 背后的语义是“生命周期管理”
  • SADD 背后的语义是“去重插入”
  • ZINCRBY 背后的语义是“带排序权重的累加”

记住语义,比死记命令更容易在业务里迁移使用。

2. 高风险命令单独警惕

尤其是:

  • FLUSHDB
  • FLUSHALL
  • 大范围 KEYS *

学习环境里可以用,但生产环境里必须有明确边界感。

3. 先在 CLI 验证,再写代码

如果某个业务逻辑你在 CLI 里都不能清晰表达,写到代码里大概率也会一边写一边猜。先命令验证,后代码接入,是非常高效的习惯。

4. 给自己做一份命令笔记

Redis 命令多,但其实高频真正常用的就那些。你完全可以在自己的学习笔记里,把最常用的一两百条命令按结构归类整理出来,后面会非常省时间。


十五、小结

这篇文章更像一份 Redis 入门阶段的命令速查与 CLI 实操清单,核心内容包括:

  • redis-cli 的基本连接与执行方式
  • key 基础命令、过期命令、扫描命令
  • String、Hash、List、Set、ZSet 的高频命令速查
  • INFOTYPETTL 等排查命令
  • 学习阶段非常实用的命令行技巧

如果前几篇文章帮你建立了 Redis 的结构认知,那么这篇文章更侧重“手上怎么用”。

一个很实用的建议是:

打开 redis-cli,对照这篇文章,把每个章节里的示例都手敲一遍。

只要你亲手练过,很多命令就不再是“看过”,而是“真的会用”。


📝 版权声明:本文为原创技术博客,转载请注明出处。

如文章中存在错误或不准确之处,欢迎在评论区指正,感谢您的阅读与支持!

上一篇

Redis入门1.3: List、Set、ZSet 详解

下一篇

Redis核心2.1:RDB 与 AOF持久化详解