redis-LinkedList

1、redis-LinkedList【重点】

Java List :  数组ArrayList

链表LinkedList

为什么redis选取了链表?

Redis操作中,最多的操作是进行元素的增删

使用环境:①做大数据集合的增删

             ②任务队列

                      用户任务队列:

       检查口腔:小明,小红

       检查眼科:小张,小李

       检查耳鼻喉:小刘

赋值:

①  lpush key values[value1 value2…](和添加的顺序相反):在指定的key所关联的list的头部插入所有的values,如果该key不存在,该命令在插入的之前创建一个与该key关联的空链表,之后再向该链表的头部插入数据。插入成功,返回元素的个数。

②  rpush key values[value1、value2…](和添加的顺序一致):在该list的尾部添加元素。

示例:

取值:

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

  

删值:

  • lpop key :返回并弹出指定的key关联的链表中的第一个元素,即头部元素。如果该key不存在,返回nil;若key存在,则返回链表的头部元素。
  •        rpop key:从尾部弹出元素。  

  

扩展:

  • llen key:返回指定的key关联的链表中的元素的数量。
  • rpoplpush resource destination:将链表中的尾部元素弹出并添加到头部。[循环操作]

两队排列:

 

循环队列:

原文地址:https://www.cnblogs.com/116970u/p/10616391.html