String字符串类型
Redis的String能表达3种值的类型:字符串、整数、浮点数 100.01 是个六位的串
应用场景
-
key和命令是字符串
-
普通的赋值
-
incr用于乐观锁
incr:递增数字,可用于实现乐观锁 watch(事务)
- setnx用于分布式锁
当value不存在时采用赋值,可用于实现分布式锁
list列表类型
- list列表类型可以存储有序、可重复的元素
- 获取头部或尾部附近的记录是极快的
- list的元素个数最多为2^32-1个(40亿)
应用场景
- 作为栈或队列使用列表有序可以作为栈和队列使用
- 可用于各种列表,比如用户列表、商品列表、评论列表等。
set集合类型
- Set:无序、唯一元素
- 集合中最大的成员数为 2^32 - 1
应用场景:
- 适用于不能重复的且不需要顺序的数据结构
比如:关注的用户,还可以通过spop进行随机抽奖
sortedset有序集合类型
- SortedSet(ZSet) 有序集合: 元素本身是无序不重复的
- 每个元素关联一个分数(score),可按分数排序,分数可重复
应用场景:
由于可以按照分值排序,所以适用于各种排行榜。比如:点击排行榜、销量排行榜、关注排行榜等。
hash类型(散列表)
Redis hash 是一个 string 类型的 fifield 和 value 的映射表,它提供了字段和字段值的映射。每个 hash 可以存储 2^32 - 1 键值对(40多亿)。
应用场景:
对象的存储 ,表数据的映射