核心结论
选择 Redis 数据类型时,首先应分析访问模式、原子操作边界、排序需求、数据规模与生命周期,而不是把所有数据序列化后存入 STRING。STRING 适合单值、计数器、位图及完整对象缓存;LIST 适合从两端追加、弹出的有序序列;HASH 适合按字段读取或修改对象;ZSET 适合成员唯一、按分值排序并支持排名或区间查询的集合。数据类型决定可使用的命令和典型复杂度,但不会自动保证多条命令或多个键之间的业务一致性。
底层机制
STRING 保存的是字节序列,并不局限于文本。它可用于页面片段、会话令牌、计数、限流状态以及序列化对象。INCR 等命令能在一条命令内完成原子递增