全书目录

第九篇:Redis 完全指南 —— 软件城市实时调度中心宇宙

第四章:键名设计 —— 调度中心最怕“柜子没编号”

1 分钟 191 字 第 207 / 962 个阅读单元

Redis 没有 SQL 表名和字段名替你兜底,所以 key 命名规范本身就是架构设计

一个顺手的命名风格通常像这样:

text
业务域:对象类型:对象id[:子维度]

例如:

bash
SET user:1001:name "Ada"
HSET user:1001 profile:name "Ada" profile:role "admin"
SET session:token:abc123 "{\"uid\":1001}"
INCR article:88:views
ZADD leaderboard:season:2026 980 "user:1001"
XADD stream:orders * orderId 9001 status created

你最好尽量做到:

  • 同一业务域用同一前缀
  • 能看 key 就知道它的用途
  • key 里带上业务边界,而不是乱起名字
  • 重要 key 预留 TTL 策略

坏例子:

text
a
cache1
temp_user_data
data_2026_new_final

好例子:

text
cache:product:sku:10088
session:user:1001
rate_limit:login:ip:1.2.3.4
stream:payment_events
lock:inventory:sku:10088

Redis 到后期会不会乱,很大程度上取决于你有没有把 key 当成正式建模对象