在REDIS当中LIST如何使用分析

来源:互联网 发布:恋夜秀场破解版软件 编辑:程序博客网 时间:2024/05/19 22:25

REDIS可以往hash链表中存数据,使用消息队列的时候用过,可以往这个里插入数据,解决高并发的问题。

       List是一个链表结构,主要功能是pushpop、获取一个范围的所有值等等、操作中的key理解为链表的名字,redislist类型其实就是一个每个子元素都是string类型的双项链表。

我们可以通过pushpop操作从链表的头部或者尾部添加删除的元素、这样list既可以座位栈、有可以作为队列链表类型,主要功能是pushpop、获取一个范围的所有值等。其中的key可以理解为链表的名字。

List的最大长度是2^32-1个元素。

1.用做堆栈    后进先出  ipush

2.用做队列 先进先出 rpush

同时redis无法存储数组类型的变量。可以将数组转化为字符串再进行储存,在用的时候取出来再转为数组再用。

列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段,使用LPUSH命令在list头插入一个元素,使用RPUSH命令在list的尾插入一个元素。

列表类型内部是使用双向链表(double linked list)实现的,所以向列表两端添加元素的时间复杂度为0(1),获取越接近两端的元素速度就越快。

      lpush key value            作用:向列表左边增加元素

      rpush key value             作用:向列表右边增加元素

      lrange key start  stop     作用:返回链表中[start ,stop]中的元素

规律: 左数从0开始,右数从-1开始