redis数据类型及其应用场景

1.string

Redis的字符串是动态字符串(SDS),是可以修改的字符串,它的内部表示就是一个字符数组,它的内部结构是一个带长度信息的字节数组,可以包含任何数据。

使用场景:string类型使用场景

2.hash

相当于python中的dict。

使用场景:适合存储json对象等。

3.list

详单于python中的list。

使用场景:消息队列

4.set

相当于python中的set,内部元素唯一,增删改查复杂度都是O(1)操作,支持交并补操作。

使用场景:获取购买相同记录,唯一性等

5.sorted set

有序集合,在set的基础上增加了value的权重,利用跳跃表实现(64层)

使用场景:排行榜

 

redis数据淘汰策略

  1. volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰
  2. volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰
  3. volatile-random:从已设置过期时间的数据集中任意选择数据淘汰
  4. allkeys-lru:淘汰最近最少使用的数据
  5. allkeys-random:从数据集中任意选择数据淘汰
  6. no-eviction:禁止驱逐数据
  7. volatile-lfu:从已设置过期时间的数据集中挑选最不经常使用的数据淘汰
  8. allkeys-lfu:移除最不经常使用的数据


 

redis数据类型及其应用场景