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:将链表中的尾部元素弹出并添加到头部。[循环操作]
两队排列:
循环队列: