Redis基本数据类型List常用操作命令是什么

      Redis数据类型List操作

      在redis里,可以把list巧妙的运用成 栈、队列、阻塞队列等。

      一、push 插入元素

      1. lpush,在头部插入

      将一个值或者多个值,插入到列表的头部。

      lpush list onelpush list twolpush list three

      使用lpush,这里的l可以看成left,也就是在左边插入,所以目前list是这样的[three, two, one]

      2. rpush,在尾部插入

      接下来,使用rpush,在右边也就是在列表尾部插入元素。

      rpush list right1 right2

      此时,list是这样的[three, two, one, right1, right2]。用lrange list 0 -1来获取下:

      二、range 通过区间获取元素

      可以想象成python里的range(),通过传入开始和结束的下标,获取元素。

      lrange list 1 4

      三、pop 移除元素

      既然上面可以左右的添加操作,那么移除自然也有左右之分了。

      移除操作,返回的是被移除的元素。

      1. lpop 左边移除
      lpop list

      2. rpop 右边移除
      rpop list

      四、lindex 通过下标获取元素

      lindex list 1

      五、llen 获取list长度

      返回列表的长度。

      llen list

      六、lrem 移除指定元素

      可以指定移除元素,并且指定数量。

      lrem list 2 yi222

      现在list里有3个yi222,我要移除2个。

      七、ltrim 修剪

      通过ltrim只保留指定的部分,去掉其他的部分,被截取的list发生改变。

      ltrim list 1 4

      这里下标从1到4的都保留,其他都被去掉了。

      八、组合命令 rpoplpush 移除并添加

      这是组合命令,移除list最后一个元素,并且将它添加到另一个list。

      rpoplpush list list2

      这里list是原列表,list2是目标列表,目标列表不存在会去创建。

      九、exists 判断key 是否存在

      exists list

      存在返回1,不存在就返回0。

      十、lset,设置指定下标的值

      lset list 1 test

      当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误。

      十一、linsert,指定位置之前/之后插入值

      之前

      linsert list before test before_test

      这是在元素test之前,插入元素before_test

      之后

      linsert list after test after_test

      这是在元素test之后,插入元素after_test