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