Redis支持多种数据类型,每种类型都有其特定的使用场景和优势。以下是Redis中五种主要的数据类型:

字符串(String)

字符串是Redis最基本的数据类型,可以存储任何形式的字符串,包括文本、序列化的对象和二进制数据。

  • 最大能存储512MB
  • 适用于缓存、计数器、分布式锁等场景

示例命令:

SET key value
GET key

列表(List)

列表是简单的字符串列表,按照插入顺序排序。你可以添加元素到列表的头部或者尾部。

  • 基于链表实现,插入和删除很快,但索引较慢
  • 适用于消息队列、最新动态等场景

示例命令:

LPUSH mylist value
RPOP mylist

集合(Set)

集合是字符串的无序集合,集合中的元素是唯一的。

  • 支持并集、交集、差集等操作
  • 适用于标签系统、唯一性检查等场景

示例命令:

SADD myset value
SMEMBERS myset

有序集合(Sorted Set)

有序集合类似于集合,但每个元素都关联一个分数,据此来为集合中的成员进行从小到大的排序。

  • 元素的排列顺序由分数决定
  • 适用于排行榜、优先级队列等场景

示例命令:

ZADD myzset 1 one
ZRANGE myzset 0 -1 WITHSCORES

哈希(Hash)

哈希是字符串字段和字符串值之间的映射,是表示对象的完美数据类型。

  • 适合存储对象,每个 hash 可以存储 2^32 - 1 个键值对
  • 适用于存储、更新用户属性等场景

示例命令:

HSET user:1000 name "John Smith"
HGET user:1000 name

每种数据类型都有其特定的命令集。选择合适的数据类型可以优化存储结构,提高操作效率。