Redis常见的数据结构主要有五种,这五种类型分别为:String(字符串)、List(列表)、Hash、Set(集合)、Zset(有序集合,也叫sorted set)。

String

字符串是Redis中最基本的数据类型,可以存储任何类型的数据,包括文本、数字和二进制数据。它的最大长度为512MB。

结构

Redis-String.png

使用场景

  1. 缓存:存储临时数据,如用户会话,页面缓存。
  2. 计数器:统计用户访问量。

List

列表是有序的字符串集合,支持从两端推入和弹出元素,底层实现为双向链表。

结构

Redis-List.png

使用场景

  1. 消息队列:用于简单任务调度、消息传递等场景,通过LPUSH和RPOP操作实现生产者消费者模式。
  2. 历史记录:存储用户操作的历史记录,便于快速访问。

Hash

哈希是一个键值对集合,适合存储对象的属性。Redis内部使用哈希表实现,适合小规模数据。

结构

Redis-Hash.png

使用场景

  1. 详情存储:存储单个对象的详情信息一边快速查询。

Set

集合是无序且不重复的字符串集合,使用哈希表实现,支持快速查找和去重操作。

结构

Redis-Set.png

使用场景

  1. 收藏功能:存储用户收藏的内容,可避免重复。
  2. 用户集合:存储访问某页面的用户集合,可用于数据分析。

Zset

有序集合类似于集合,但每个元素都有一个分数(score),用于排序。底层使用跳表实现,支持快速的范围查询。

结构

Redis-Zset.png

使用场景

  1. 任务调度: 可以实现优先级形式的任务调度。
  2. 排行榜:存储分数,实现实时排行榜。