Redis 初学者最常见的错误,是:
反正 Redis 很快
所以所有东西都 JSON.stringify 一把梭这样会失去 Redis 最大的优势:原生结构上的原子操作能力。
你可以先用这个速记表:
| 需求 | 优先结构 |
|---|---|
| 一个简单值、token、计数器 | String |
| 一个小对象 | Hash |
| 一个先进先出或先进后出队列 | List |
| 一个去重集合 | Set |
| 一个需要排序/排名/分数范围查询的集合 | Sorted Set |
| 一个要持续追加、可回放、可分组消费的事件流 | Stream |
一句话判断:
如果你经常只改对象里的某几个字段,用 Hash
如果你经常只想整体读写一坨,用 String
如果你要“顺序”,别用 Set
如果你要“去重”,别用 List
如果你要“按分数排”,别用普通 Set