ToolkitX
知识库工具箱

常用命令大全

键操作、字符串、哈希、列表、集合命令

20min·入门

01. 键管理——增删查改加过期

Redis 键管理跟文件管理差不多,多了一个「自动过期」功能,特别好用。
bash
SET key1 "hello"
GET key1
EXISTS key1
DEL key1
TYPE key1

# 过期(Redis 特色)
EXPIRE session 3600      # 3600 秒后自动删
TTL session              # 还剩多少秒
PERSIST session          # 取消过期

# 批量操作
KEYS user:*              # 生产环境千万别用!阻塞全库
SCAN 0 MATCH user:* COUNT 100  # 渐进式扫描,推荐
生产环境严禁 KEYS *,几百万个 key 时能把 Redis 卡死。用 SCAN 代替。

02. 事务——一次性打包执行

Redis 事务用 MULTI/EXEC 包裹,里面命令按顺序执行,中间不会被别的客户端插队。 注意:Redis 事务不支持回滚!中间某条出错,其他照样执行,这点跟 MySQL 完全不同。
bash
MULTI                     # 开始
SET a 1
SET b 2
INCR a
EXEC                      # 全执行 → OK, OK, 2

DISCARD                   # 放弃事务

# 乐观锁(WATCH)
WATCH balance
MULTI
DECRBY balance 100
EXEC                      # balance 被改了则返回 nil

03. 管道(Pipeline)——批量加速

正常是一发一回,100 个命令 = 100 次网络往返。Pipeline 把一堆命令打包一起发,Redis 处理完打包回,就一次往返。批量写入性能提升几十倍。
bash
# redis-cli 管道
cat commands.txt | redis-cli --pipe

# commands.txt:
# SET k1 v1
# SET k2 v2
# SET k3 v3
Pipeline 不保证原子性——中间可能被其他客户端命令插入。要原子性用 Lua 脚本或事务。

04. Pub/Sub——发布订阅

Redis Pub/Sub 是轻量消息系统。有人往「频道」发消息,订阅了该频道的全收到。适合实时通知、聊天推送。 注意:消息不持久化——发时没人订阅,消息直接没了。
bash
# 终端1:订阅
SUBSCRIBE news

# 终端2:发布
PUBLISH news "重大新闻!"

# 模式订阅
PSUBSCRIBE news.*

UNSUBSCRIBE news

知识测验

1/5正确 0

生产环境查找键该用什么?

下一节

持久化机制

下一节