Redis常用命令(4)——List

BLPOP

格式:BLPOP key [key ...] timeout

作用:从列表左侧弹出元素,超时时间为timeout,单位为秒。如果timeout为0则一直阻塞直到列表中有元素。如果同时操作多个列表,按照列表顺序从左到右依次检查列表,遇到第一个非空列表时弹出元素并返回。

返回值:列表元素。超时后返回nil和等待时间。

 

BRPOP

格式:BRPOP key [key ...] timeout

作用:从列表右侧弹出元素,超时时间为timeout,单位为秒。如果timeout为0则一直阻塞直到列表中有元素。如果同时操作多个列表,按照列表顺序从左到右依次检查列表,遇到第一个非空列表时弹出元素并返回。

返回值:列表元素。超时后返回nil和等待时间。

 

BRPOPLPUSH

格式:BRPOPLPUSH source destination timeout

作用:从源列表右侧弹出元素,放入目标列表左侧,超时时间为timeout,单位为秒。如果timeout为0则一直阻塞直到源列表中有元素。

返回值:弹出的元素。超时后返回nil和等待时间。

 

LINDEX

格式:LINDEX key index

作用:返回列表中指定索引位置的元素。下标从0开始,如果index为负数表示从右侧查找,-1表示右侧最后一个元素。

返回值:下标为index的元素。如果index超出范围返回nil。如果key不是列表类型,返回错误。

 

LINSERT

格式:LINSERT key BEFORE|AFTER pivot value

作用:在列表key中,在值pivot之前或之后插入元素value。当key不存在,或列表key中没有pivot时不执行操作。

返回值:执行成功返回执行后列表的长度,如果key不存在或为空返回0,如果pivot不存在返回-1。

 

LLEN

格式:LLEN key

作用:返回列表key的长度。

返回值:列表key的长度。如果key不存在或为空,返回0。如果key不是列表类型,返回错误。

 

LPOP

格式:LPOP key

作用:从列表key的左侧弹出一个元素。

返回值:弹出的元素。如果key不存在,或为空,返回nil。

 

LPUSH

格式:LPUSH key value [value ...]

作用:在列表key的左侧,插入一个或多个元素,按照元素的顺序插入。

返回值:插入后列表的长度。

 

LPUSHX

格式:LPUSHX key value

作用:当key存在并且是列表类型时,在左侧插入元素。如果key不存在或不是列表类型,不执行操作。

返回值:插入元素后列表的长度。

 

LRANGE

格式:LRANGE key start stop

作用:返回列表key指定位置区间的元素,包括stop位置的元素。下标从0开始,如果下标为负数表示从右侧查找,-1表示右侧最后一个元素。

返回值:返回元素的列表。

 

LREM

格式:LREM key count value

作用:移除列表中值为value的元素,count参数的要求如下

count > 0 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。

count < 0 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。

count = 0 移除表中所有与 value 相等的值。

返回值:被移除元素的个数。

 

LSET

格式:LSET key index value

作用:设置列表key下标index位置的元素值为value。如果index超出范围返回错误。

返回值:成功时返回OK

 

LTRIM

格式:LTRIM key start stop

作用:只保留列表key指定位置区间内的元素,移除其余元素。stop位置的元素会保留。

返回值:成功时返回 OK

 

RPOP

格式:RPOP key

作用:从列表key的右侧弹出一个元素。

返回值:弹出的元素。如果key不存在,或为空,返回nil。

 

RPOPLPUSH

格式:RPOPLPUSH source destination

作用:从源列表右侧弹出元素,放入目标列表左侧。

返回值:弹出的元素。

 

RPUSH

格式:RPUSH key value [value ...]

作用:在列表key的右侧,插入一个或多个元素,按照元素的顺序插入。

返回值:执行操作后列表的长度。

 

RPUSHX

格式:RPUSHX key value

作用:当key存在并且是列表类型时,在右侧插入元素。如果key不存在或不是列表类型,不执行操作。

返回值:执行操作后列表的长度。

 

原文地址:http://caiguoqing.org/post/107

猜你喜欢

转载自backend-develop.iteye.com/blog/2356659