Redis的常用命令:list类型

在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移 除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是 4294967295。

        从元素插入和删除的效率视角来看,如果我们是在链表的两头插入或删除元素,这将会是非常高效的操作,即使链表中已经存储了百万条记录,该操作也可以在常量时间内完成。然而需要说明的是,如果元素插入或删除操作是作用于链表中间,那将会是非常低效的。

-----------------------------------------

存储lists类型


lpush key value1 value2...:在指定的key的list的头部插入所有的values,如果该key不存在,该命令在插入的之前创建该key和空链表,之后再向该链表的头部插入数据。插入成功,返回元素的个数。


rpush key value1、value2…:在该list的尾部添加元素


lrange key start end:获取链表中从start到end的元素的值,start、end可为负数,若为-1则表示链表尾部的元素,-2则表示倒数第二个,依次类推…


lpushx key value:仅当参数中指定的key存在时,在指定key的list的头部插入value。如果与key管理的list中没有值时,则该key是不存在的,也就插入失败。


rpushx key value:仅当参数中指定的key存在时,在指定key的list的尾部插入value。如果与key管理的list中没有值时,则该key是不存在的,也就插入失败。


lpop key:返回并删除指定key的链表中的第一个元素,即头元素。


rpop key:返回并删除指定key的链表中的最后一个元素,即尾元素。


rpoplpush resource destination:将resource链表中的尾部元素取出并删除,然后添加到destination链表的头部。



llen key:返回指定的key链表中的元素的数量


lset key index value:设置链表中的index的脚标的元素值,0代表链表的头元素,-1代表链表的尾元素。


lrem key count value:删除count个值为value的元素,如果count大于0,从头向尾遍历并删除count个值为value的元素,如果count小于0,则从尾向头遍历并删除。如果count等于0,则删除链表中所有等于value的元素。


linsert key after pivot value:在pivot元素之后插入value这个元素。


linsert key before pivot value:在pivot元素之前插入value这个元素。


猜你喜欢

转载自blog.csdn.net/qq_40550973/article/details/80818429