咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

redis五种数据类型整理

为了方便复习redis的数据类型,根据网络文章整理一份。

一、Redis 字符串(String)

字符串类型是最基础的类型,在redis里面字符串可以存储3中类型的值,字节串、整数、浮点数。
这里整数或者浮点数是可以执行自增或自减的。
使用场景:

  1. 计数
  2. 分布式锁
  3. 缓存数据

二、Redis 列表(List)

列表类似于数据结构的链表,可以给定int范围去显示这个列表中的数据。
列表允许用户从序列的两端推入或者弹出元素,获取列表元素。
列表的一个主要优点在于他可以包含多个字符串值,而且都集中在一个区域,而且多个字符串是可以重复的。
使用场景:

  1. 存储任务信息
  2. 最近浏览过的文章
  3. 联系人信息
  4. 消息队列

三、Redis 哈希(Hash)

redis的哈希可以存储多个键值对之间的映射。
哈希在很多方面就像一个微缩版的redis,不少字符串命令都有相应的哈希版本。
一个key name的哈希中,有多个key-value对。我们可以把这种数据聚集看做是关系库中的行。
使用场景:

  1. 存储对象(频繁增删)
  2. 购物车
  3. 关系数据库的缓存

四、Redis 集合(Set)

redis的集合以无序的方式来“存储多个各不相同”的元素,用户可以快速地对集合执行“添加元素”操作、“移除元素”操作以及“检查一个元素是否存在”于集合中。
集合跟列表不同之处在于,列表可以存储多个相同的字符串,而集合则通过使用Hash来保证存储的字符串各不相同(这些Hash只有key,并没有与key相关联的value)。
使用场景:

  1. 计算交集、并集、差集
  2. 共同好友
  3. 利用唯一性,统计访问网站的所有独立IP
  4. 好友推荐时,根据tag求交集,大于某个阈值就可以推荐

五、Redis 有序集合(sorted set)

“有序集合”相比“集合”多出一个分值(score),分值必须为浮点数。有序集合既可以根据成员访问,又可以根据分值或分值的排列顺序来访问的结构。
使用场景:

  1. 排行榜
  2. 带权重的消息队列

内容来自: