Redis 常用命令 List篇

来源:互联网 发布:死性不改网络歌手歌词 编辑:程序博客网 时间:2024/06/05 00:49

Lpush

将所有指定的值插入到存于 key 的列表的头部。如果 key 不存在,那么在进行 push 操作前会创建一个空列表。 如果 key 对应的值不是一个 list 的话,那么会返回一个错误。

可以使用一个命令把多个元素 push 进入列表,只需在命令末尾加上多个指定的参数。元素是从最左端的到最右端的、一个接一个被插入到 list 的头部。 所以对于这个命令例子 LPUSH mylist a b c,返回的列表是 c 为第一个元素, b 为第二个元素, a 为第三个元素。

返回值

在 lpush 操作后的 list 长度 ,大于0 代表操作成功

例如: lrange 获取队列 0代表开始 -1代表最后 

redis> LPUSH mylist "world"(integer) 1redis> LPUSH mylist "hello"(integer) 2redis> LRANGE mylist 0 -11) "hello"2) "world"

LRANGE

返回存储在 key 的列表里指定范围内的元素。 start 和 end 偏移量都是基于0的下标,即list的第一个元素下标是0(list的表头),第二个元素下标是1,以此类推。

偏移量也可以是负数,表示偏移量是从list尾部开始计数。 例如, -1 表示列表的最后一个元素,-2 是倒数第二个

返回值

 指定范围里的列表元素。

redis> RPUSH mylist "one"(integer) 1redis> RPUSH mylist "two"(integer) 2redis> RPUSH mylist "three"(integer) 3redis> LRANGE mylist 0 01) "one"redis> LRANGE mylist -3 21) "one"2) "two"3) "three"

LREM key index value

从存于 key 的列表里移除前 count 次出现的值为 value 的元素。 这个 count 参数通过下面几种方式影响这个操作:

  • count > 0: 从头往尾移除值为 value 的元素。
  • count < 0: 从尾往头移除值为 value 的元素。
  • count = 0: 移除所有值为 value 的元素。

比如, LREM list -2 “hello” 会从存于 list 的列表里移除最后两个出现的 “hello”。

需要注意的是,如果list里没有存在key就会被当作空list处理,所以当 key 不存在的时候,这个命令会返回 0。

返回值

被移除的元素个数。

redis> RPUSH mylist "hello"(integer) 1redis> RPUSH mylist "hello"(integer) 2redis> RPUSH mylist "foo"(integer) 3redis> RPUSH mylist "hello"(integer) 4redis> LREM mylist -2 "hello"(integer) 2redis> LRANGE mylist 0 -11) "hello"2) "foo"

LSET key index value

设置 index 位置的list元素的值为 value。 更多关于 index 参数的信息,详见 LINDEX。

当index超出范围时会返回一个error。

redis> RPUSH mylist "one"(integer) 1redis> RPUSH mylist "two"(integer) 2redis> RPUSH mylist "three"(integer) 3redis> LSET mylist 0 "four"OKredis> LSET mylist -2 "five"OKredis> LRANGE mylist 0 -11) "four"2) "five"3) "three"

RPUSH key value [value ...]

向存于 key 的列表的尾部插入所有指定的值。如果 key 不存在,那么会创建一个空的列表然后再进行 push 操作。 当 key 保存的不是一个列表,那么会返回一个错误。

可以使用一个命令把多个元素打入队列,只需要在命令后面指定多个参数。元素是从左到右一个接一个从列表尾部插入。 比如命令 RPUSH mylist a b c 会返回一个列表,其第一个元素是 a ,第二个元素是 b ,第三个元素是 c。

redis> RPUSH mylist "hello"(integer) 1redis> RPUSH mylist "world"(integer) 2redis> LRANGE mylist 0 -11) "hello"2) "world"

LLEN key

返回存储在 key 里的list的长度。 如果 key 不存在,那么就被看作是空list,并且返回长度为 0。 当存储在 key 里的值不是一个list的话,会返回error。

返回值

key对应的list的长度。

redis> LPUSH mylist "World"(integer) 1redis> LLEN mylist(integer) 1

0 0
原创粉丝点击