redis列表(list)操作

redis列表(list)操作_第1张图片

操作:

【1 : lpush/rpush/lrange】左边插入/右边插入/左边取出

                            lpush  list01 1 2 3 4 5

                            rpush  list02 1 2 3 4 5

                             lrange list01 0 -1

redis列表(list)操作_第2张图片

【2 : lpop/rpop】左删除/右删除

注意:一次只删除一个值,并返回所删除的值

                          lpop  list01

                          rpop  list02


redis列表(list)操作_第3张图片

【3 : lindex  按照索引获取元素】

注意:从上到下  从左到右获取

                          lindex  list01 2

redis列表(list)操作_第4张图片

【4 : lrem  key  删除N个value】

                             lrem  list02 2  v2(删除list02中的两个值为v2的元素)

redis列表(list)操作_第5张图片

【5 : ltrim  key start  end ,截取指定的值后再赋值给key】

               ltrim  list02  3   8(截取list02中索引3-8的元素,并重新赋给list02)

redis列表(list)操作_第6张图片

【6 : rpoplpush  源列表  目的列表】

                 移除列表的最后一个元素,并将该元素添加到另一个列表并返回

               rpoplpush   list01   list02  :  移除list01最右边的元素并从左边添加到list02中

redis列表(list)操作_第7张图片

【7 : lset  key  index  value】根据索引设置值

                      lset   list01  2   hello:(设置list01中索引为2的值为hello)

redis列表(list)操作_第8张图片

【8 : linsert  key  before/after  值1  值2】

在list某个已有值的前后再添加具体值【注意:这里是已有值,不是第几个值】

linsert  list01 v2  before hello(在list01中v2的值前面添加hello)

redis列表(list)操作_第9张图片

【9 : llen  key】长度

                                llen  list01

常用API:


redis列表(list)操作_第10张图片
redis列表(list)操作_第11张图片

性能浅谈:

         1:它是一个字符串链表,left、right都可以插入添加;

         2:如果键不存在,创建新的链表;

         3:如果键已存在,新增内容;

         4:如果值全移除,对应的键也就消失了。

         5:链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

你可能感兴趣的:(redis列表(list)操作)