«

Redis 常用数据类型

时间:2026-10-7 07:15     作者:emer     分类: 无


Redis 常用数据类型

Redis 不只是缓存,它有 5 种常用数据类型,用对了能解决很多问题。

1. String(字符串)

最基本的类型,一个 key 对应一个 value。

# 设置
SET name "张三"

# 读取
GET name

# 自增(计数器)
INCR page_view

# 设置过期时间(秒)
EXPIRE token 3600

# 查看过期时间
TTL token

适用场景: 缓存、计数器、分布式锁。

2. Hash(哈希)

适合存对象。

# 设置字段
HSET user:1 name "张三" age 25

# 获取字段
HGET user:1 name

# 获取所有字段
HGETALL user:1

# 删除字段
HDEL user:1 age

适用场景: 用户信息、商品信息。

3. List(列表)

有序队列,先进先出。

# 从左边插入
LPUSH messages "消息1"
LPUSH messages "消息2"

# 从右边插入
RPUSH messages "消息3"

# 从左边弹出
LPOP messages

# 查看列表
LRANGE messages 0 -1

适用场景: 消息队列、最新消息列表。

4. Set(集合)

无序不重复。

# 添加元素
SADD tags "PHP" "MySQL" "Linux"

# 查看所有元素
SMEMBERS tags

# 判断是否存在
SISMEMBER tags "PHP"

# 交集
SINTER set1 set2

适用场景: 标签、共同好友、去重。

5. ZSet(有序集合)

每个元素带分数,按分数排序。

# 添加元素
ZADD rank 100 "张三"
ZADD rank 90 "李四"
ZADD rank 80 "王五"

# 查看排行(从高到低)
ZREVRANGE rank 0 -1 WITHSCORES

# 获取排名
ZREVRANK rank "张三"

适用场景: 排行榜、热度排序。

总结

类型 特点 适用场景
String 简单键值 缓存、计数器
Hash 存对象 用户信息
List 有序队列 消息队列
Set 不重复 标签、去重
ZSet 带分数排序 排行榜

Redis 用熟了,能解决很多业务问题。

标签: 数据库 Redis 缓存 NoSQL 数据类型