Redis支持哪些基本的数据类型?
1. String(字符串)
String是Redis最基础的数据类型,可存储文本、数字或二进制数据(最大512MB)。
典型场景:缓存会话信息、计数器、分布式锁。
SET user:1 "Alice"
INCR article_views
2. Hash(哈希表)
Hash以键值对形式存储对象属性,适合结构化数据存储。
典型场景:用户资料、商品详情。
HSET product:1001 name "Laptop" price 999
3. List(列表)
List为双向链表结构,支持头部/尾部插入和弹出操作。
典型场景:消息队列、最新动态流。
LPUSH news:feed "New feature released"
RPOP orders
4. Set(集合)
Set存储唯一无序元素,支持集合运算(交集、并集、差集)。
典型场景:标签系统、共同好友。
SADD tags:article:200 "database" "nosql"
SINTER user:A:tags user:B:tags
5. Sorted Set(有序集合)
Sorted Set通过score值排序成员,兼具集合唯一性与有序性。
典型场景:排行榜、延迟队列。
ZADD leaderboard 1500 "PlayerA"
ZREVRANGE leaderboard 0 9 WITHSCORES
扩展数据类型
Redis还支持Bitmaps(位图)、HyperLogLog(基数统计)、Geospatial(地理坐标)、Streams(流数据)等高级数据结构,满足特定场景需求。
选择数据类型的核心原则
- 根据数据关系选择:一对一用String,一对多用Hash/List
- 考虑读写模式:高频写入用List,排序需求用Sorted Set
- 内存优化:小对象优先用Hash压缩存储