全书目录

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

第五章:String —— 最基础的寄存柜,也是最常被低估的结构

1 分钟 219 字 第 208 / 962 个阅读单元

Redis String 是最基础的数据类型,本质上就是一段字节序列。

但工程上它非常强,因为它能做很多事:

  • 普通缓存值
  • JSON 字符串
  • token
  • 计数器
  • 开关位
  • 小对象快照

最简单:

bash
SET product:1001:name "机械键盘"
GET product:1001:name

带过期:

bash
SET cache:product:1001 "{\"name\":\"机械键盘\",\"price\":399}" EX 300

只在不存在时设置:

bash
SET lock:order:9001 "token-abc" NX PX 30000

这就是 Redis 的魅力之一:

text
同一个 SET
既能当普通写入
也能当缓存写入
也能当分布式锁入口
#String 最经典的另一面:计数器
bash
SET article:88:views 0
INCR article:88:views
INCRBY article:88:views 10
DECR inventory:sku:10088

Redis 官方一直把 INCR 这类命令当成典型原子计数模式。

这类能力特别适合:

  • 浏览量
  • 点赞数
  • 限流计数
  • 配额消耗
  • 简单库存扣减模型的一部分
text
String = 实时调度中心里最基础的单格寄存柜
能放一张纸条
也能放一个计数器
也能挂一个带过期时间的状态牌