1.BLPOP
Redis BLPOP 命令移出并获取列表的第一个元素,如果列表没有元素会阻塞列表知道等待超时或发现可弹出元素为止,它是LPOP的阻塞元素。
当给定多个key参数时按参数key的先后顺序依次检查各个列表,弹出第一个非空列表的非空元素。
语法:
redis Blpop 命令基本语法如下:
redis 127.0.0.1:6379> BLPOP key [key ...] timeout
2. BRPOP
BRPOP是阻塞列表的移除原语。从给的列表参数中按顺序检查第一个不空的列表,然后从该列表的尾部移除元素。 BRPOP 是 RPOP 的阻塞版本,因为当没有元素从给定的列表中移除的时候,BRPOP 阻塞连接。
返回值
数组 :
- 所有列表为空并且超时时,返回
nil
。 - 一个两个成员的数组,第一个元素是被移除元素的key的名字,第二个元素是被移除元素的值。
3. BRPOPLPUSH
Redis BRPOPLPUSH 命令从列表中取出最后一个元素,并插入到另外一个列表的头部; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
BRPOPLPUSH 是 RPOPLPUSH
的阻塞版本,当给定列表 source
不为空时, BRPOPLPUSH
的表现和 RPOPLPUSH 一样。
语法:
redis BRPOPLPUSH 命令基本语法如下:
redis 127.0.0.1:6379> BRPOPLPUSH LIST1 ANOTHER_LIST TIMEOUT
4.LINDEX
LINDEX 返回列表 key 里索引 index 位置存储的元素。 index 下标是从 0 开始索引的,所以 0 是表示第一个元素, 1 表示第二个元素,并以此类推。 负数索引用于指定从列表尾部开始索引的元素,在这种方法下,-1 表示最后一个元素,-2 表示倒数第二个元素,并以此往前推。
当 key 值不是列表的时候,会返回错误。
返回值
多行字符串 多行字符串多行字符串: 查询的元素,index
超出索引范围时返回 nil
。
5.LINSERT
Redis LINSERT 用于把 element
插入到列表 key
中参考值 pivot 的前面或后面。
当 key
不存在时,这个list会被看作是空list,什么都不执行。
当 key
存在,值不是列表类型时,返回错误。
返回值
整数: 执行操作后的列表长度,列表中pivot
参考值不存在的时候返回 -1
。
6.LLEN
Redis LLEN 用于返回存储在 key
中的列表长度。 如果 key
不存在,则 key
被解释为一个空列表,返回 0
。 如果 key
不是列表类型,返回一个错误。
语法
redis LLEN 命令基本语法如下:
redis 127.0.0.1:6379> LLEN KEY_NAME
返回值
整数: 列表的长度。
7.LPOP
Redis LPOP 命令用于删除并返回存储在 key
中的列表的第一个元素。
返回值
多行字符串: 列表的首元素,key
不存在的时候返回 nil
8.LPUSH
redis LPUSH 用于将一个或多个值插入到列表key
的头部。
如果 key 不存在,那么在进行 push 操作前会创建一个空列表。
如果 key 对应的值不是 list 类型,那么会返回一个错误。
可以使用一个命令把多个元素 push 进入列表,只需在命令末尾加上多个指定的参数。
元素按在参数中出现的顺序,从左到右依次插入到 list 的头部。
所以对于这个命令例子 LPUSH mylist a b c
,返回的列表是 c 为第一个元素, b 为第二个元素, a 为第三个元素。
返回值
整数: 执行push操作后列表的长度。
9.LPUSHX
Redis LPUSHX 在当 key 存在并且存储着一个 list 类型值的时候,向值 list 的头部插入 value。 与 LPUSH 相反,当 key 不存在的时候不会进行任何操作。
返回值
整数: 执行push操作后列表list的长度。
10.LREM
Redis LREM 用于从列表 key 中删除前 count 个值等于 element
的元素。 这个 count 参数通过下面几种方式影响这个操作:
- count > 0: 从头到尾删除值为 value 的元素。
- count < 0: 从尾到头删除值为 value 的元素。
- count = 0: 移除所有值为 value 的元素。
比如, LREM list -2 “hello” 会从列表key中删除最后两个出现的 “hello”。
需要注意的是,不存在key会被当作空list处理,所以当 key 不存在的时候,这个命令会返回 0。
返回值
整数: 删除元素个数.
11.LSET
Redis LSET 用于设置列表 key 中 index 位置的元素值为 element
。 更多关于 index 参数的信息,详见 LINDEX。
当 index 超出列表索引范围时会返回错误ERR ERR index out of range
。
返回值
12.RPOP
Redis RPOP 用于移除并返回列表 key
的最后一个元素。
返回值
多行字符串: 最后一个元素的值,key
不存在时返回 nil
。
13.RPUSH
RPUSH 向存存储在 key 中的列表的尾部插入所有指定的值。如果 key 不存在,那么会创建一个空的列表然后再进行 push 操作。 当 key 保存的不是列表,那么会返回一个错误。
可以使用RPUSH
命令把多个元素插入队列,只需要在命令后面指定多个参数。元素是从左到右按序从列表尾部插入。 比如命令 RPUSH mylist a b c
会返回一个列表,其第一个元素是 a ,第二个元素是 b ,第三个元素是 c。
返回值
整数: 执行 push 操作后的列表长度。
14.RPUSHX
RPUSHX
将值 value 插入到列表 key
的表尾, 当且仅当 key
存在并且是一个列表。 和 RPUSH
命令相反, 当 key 不存在时,RPUSHX 命令什么也不做。
返回值
整数: RPUSHX 命令执行之后列表的长度。