愉快的周末又要来临了,对于极度热爱工作的我来说。。美滋滋。为了让大家有一个愉快的周末,今天来说点基础的东西,当做睡前催眠小文章。
redis 包含5种数据类型,相对于其他繁多的数据类型,只有5个可以说是非常有良心了。分别是 string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合)。
string 字符串
- 最常见的数据类型,一个 key 对应一个 value,理论上来讲 value 可以存储任何数据。一个键最大能存储 512M。
- 操作:SET、 GET
- 使用场景:复杂的计数功能的缓存、避免重复提交锁。
Hash 哈希
- 键值对合集,string 类型的 field 和 value 的映射表。每个 hash 可以存储 232 - 1 键值对(40多亿)。
- 操作:HMSET、 MGETALL
- 使用场景:存储用户信息(姓名、年龄、性别等),方便读取。
List 列表
- 字符串列表,按照插入顺序排序。也就是说列表数据是有序的。列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
- 操作:lpush、 lrange
- 使用场景:利用其有序特性,可以做简单的消息队列功能。
Set 集合
- string 类型的无序集合。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
- 操作:
sadd 添加一个 string 元素到 key 对应的 set 集合中。例:sadd key string
smember 查询 key 对应的集合元素。例: smember key
- 使用场景:交集,并集,差集
zset 有序集合
- zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数用来做排序。
- 操作:
zadd 添加元素到集合,元素在集合中存在则更新对应score。例:zadd key score member
- 使用场景:排行榜 、带权重的消息队列
参考文章:
https://www.w3cschool.cn/redis/redis-data-types.html
https://www.cnblogs.com/jasonZh/p/9513948.html
原文:https://www.cnblogs.com/suojian/p/13328713.html