Redis的五大数据类型特性及应用场景

Redis的五大数据类型

  1. 一个key对应一个value:
  2. String 字符串
  • String是redis最基本的类型,一个key对应一个value;
  • String类型是二进制安全的,意思是redis的string可以包含任何数据:
  • 比如:jpg图片或者序列化的对象;
  • 一个redis中的字符串value最多可以是512M;
  • 应用场景:缓存

以下的类型都是用来处理一个key 多个value的:

  1. Hash 哈希,类似java里的map
  • Redis hash 是一个键值对集合
  • Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
  • 类似于java里面的map<String,Object>
  • 应用场景:缓存

  1. List 列表
  • redis列表是简单的字符串列表,按照插入顺序排序;
  • 可随意添加一个元素到列表的头部(左边)或者尾部(右边);
  • 它得底层实际就是个链表
  • 应用场景:最新评论,最新发布

  1. Set 集合
  • redis的set是string类型的无序集合,它是通过HashTable实现的
  • 模拟一个场景:
  • 我在数据库取出100w数据,根据要求去掉重复数据:
  • (有效数据,set集合中)
  • 应用场景:摇奖,随机出栈

  1. list和set集合的区别:
  • list集合是有序的,set是无序的
  • list集合可以存放重复的数据 1113223344,这个字符串可以存到list里面;
  • 同样的这个字符串存到set集合中是1324,表示set不能存放重复数据;

  1. Zset 有序集合
  • redis的zset和set一样也是string类型元素的集合,且不允许重复的成员;
  • 不同的是每个元素都会关联一个double类型的分数;
  • redis正是通过分数来为集合中的成员进行从小到大的排序;
  • zset的成员是唯一的,但分数(score)却可以重复
  • 模拟一个场景:
  • 我在数据库取出100w数据,根据要求去掉重复数据,并且按照从大到小的顺序输出:
    *(有效数据,zset集合)
  • 应用场景:排行榜
原文地址:https://www.cnblogs.com/Twittery/p/14525139.html