Redis——五种数据类型

来源:互联网 发布:淘宝上的jbl是真的吗 编辑:程序博客网 时间:2024/06/07 05:56

       Redis共有strings、hashs、lists、sets、sorted sets五种数据类型,可以说已经比较丰富了。下面只对这几种数据类型的数据结构与用途做简要介绍。至于每种数据类型的操作API,这里只简单一提,不再一一详细介绍,有需要的用户可以Google即可。

一、    strings

       string是最简单的类型,一个Key对应一个Value。string类型是类型安全的,Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。存储结构如下:


      


  常用的API函数有:


  


二、    lists(栈/队列)

       List是一个链表结构,主要功能是push/pop,获取一个范围的所有值等等。操作中key就理解为链表的名称。Redis的list类型其实就是每一个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加、删除元素,这样list既可以做栈又可以做队列。存储结构如下:


      


  常用的API函数有:


  


      

三、    hashs

       Redis的hash是一个string类型的field和value的映射表。五种数据类型中,只有hash是二维的,它特别适合存储对象。相较于将对象的每个字段属性存为单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。存储结构如下:


      


  常用的API函数有:


  


      

四、    sets

       sets是集合,它是string类型的无序集合。set是通过hash table实现的。它非常类似数学中的集合,所以我们可以取并集、差集、交集。通过这些操作我们可以实现sns中的好友推荐和blog中的tag功能。存储结构如下:


      


  常用的API函数有:


  


      

五、    sorted sets

       sortedsets是sets的一个升级版本,它在sets的基础上增加了一个顺序属性score。这一属性在添加、修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。存储结构如下:


  


  常用的API函数有:


  


  五种数据类型已介绍完毕,下面给出常用的键值命令与服务器命令:

  

六、    键值相关命令


      


七、    服务器相关命令

  

      

八、    五种数据类型存储结构全貌

   

2 0
原创粉丝点击