Redis学习(6)-常用命令

List命令

value值为LinkedList类型。

使用环境:

1,做大数据集合的增删。

2,任务队列。用户任务队列

链表查看

lrange  key  start  end:获取链表从start到end的元素值

start,end从0开始计数,也可为负数,若为-1则表示链表尾部的元素,-2表示倒数第二个,依次类推。

例如:list1  【0,1,2,3,4,5】,查到从0到第三个值

lrange    list1    0    3

两端添加

lpush  key  value1,value2,value3...:在key所关联list头部插入所有的value。

例如:lpush    list1    a    b    c    d

rpush  key  value1,value2,value3...:在该list尾部添加元素

两端删除(弹出)

lpop  key:从头部弹出元素,删除头部第一个元素。

rpop  key:从尾部弹出元素。

扩展命令

llen  key:返回指定key关联链表中元素的个数。

删除某种元素:效率极其低下

lrem  key  count  value:删除count个值为value的元素。如果count大于0,从头向尾遍历并删除count个值为value的元素。

例如:删除链表中所有的a元素。(注意:如果删除所有的,则count指定为0

lrem    list3    0    a

从头删除2个字母:"C"

lrem    mylist    2    C

如果从尾部到头删除两个字母C,则:

lrem    mylist    -2    C

通过索引替换元素:(效率不高)

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

在索引前/后插入元素:(效率不高)

linsert  key  before/after  pivot  value:在pivot元素前/后插入value这个元素。

例如:

linsert    list1    before    aaaa    cccc

rpoplpush  resource  destination:将链表中尾部元素弹出并插入到头部【循环操作】

例如:任务队列:要求把ist1中的d弹出,把元素插入到list2的头部

rpoplpush  list1  list2

循环链表:把list1的元素从头部插入到尾部,循环操作。

rpoplpush  list1  list1

猜你喜欢

转载自www.cnblogs.com/alsf/p/9098223.html