Redis数据模型

Redis采用的是键值对的存储形式

一、Redis的键key

  1)key的类型:可以用任何二进制序列作为key值

  2)key的取值规范:尽量做到见名知意

二、Redis的值value

  Redis的数据结构类型值的就是Redis的值vlaue的类型

  Redis常用的数据结构类型:String、list、set、sortedSet、hash

  

  1)String类型

  常用命令:见http://doc.redisfans.com/

  应用场景:1.统计相关业务,例如朋友圈点赞  2.解决多线程的线程安全问题,具体实例可见https://www.cnblogs.com/lch-Hao/p/10927966.html

  

  2)List类型

  基于Linked List(双向链表)实现,元素是字符串类型

  特点:列表头尾增删快,中间增删慢(主要是由于两条记录顺序的链的增删效率)元素可重复出现,最多包含2^32-1个元素

  

   应用场景:处理排名类业务以及论坛回帖楼层

  

  3)Hash类型(散列)

  特点:由Field和与之关联的value组成的map键值对,Field和value是字符串类型,1个hash最多包含2^32-1个键值对

  

  应用场景:在Redis存储中,能用hash尽量用hash,因为由于Key值的减少可以节约内存空间,不适用的场景是需要设置键过期功能的key,Redis的key的过期功能只能对键操作,而Hash结构不能单独对某一个filed设置过期功能。

  4)Set类型(集合)

  特点:无序的、去重的,元素是字符串类型,最多包含2^32-1个元素

  

  应用场景:新浪微博中的共同关注功能,通过取用户关注中的交集实现

  5)SoredSet类型(Redis3.x以后支持的数据类型)

   特点:类似Set集合,有序的、去重的,元素是字符串类型,每一个元素都关联着一个浮点数分值(Score),并按照分值从小到大的顺序排列集合中的元素。分值可以相同,最多包含2^32-1个元素

  

   应用场景:需要有序且唯一的业务或操作,例:网易云音乐的排行榜功能

原文地址:https://www.cnblogs.com/lch-Hao/p/10928278.html