redis List常用命令整理

Redis list列表常用命令整理

命令

描述

示例

注意

LPUSH

LPUSH用于将一个或多个value插入列表key的表头,可以作为栈,特点是先进后出。

LPUSH key value [value ...]

返回值:执行LPUSH命令后,列表key的长度。

LPUSHX

LPUSHX用于将value插入key,key存在并且是一个列表。和LPUSH命令相反,当key不存在时,LPUSHX什么也不做。

LPUSHX key value [value ...]

返回值:执行LPUSHX命令之后,列表key的长度。

RPUSH

RPUSH用于将一个或多个value插入列表key的表尾,可以作为队列,特点是先进先出。

RPUSH key value [value ...]

返回值:执行RPUSH命令后,列表key的长度。

RPUSHX

RPUSHX用于将value插入列表key的表尾,并且列表key存在。和RPUSH相反,当key不存在时,RPUSHX什么也不做。

RPUSHX key value [value ...]

返回值:执行RPUSHX命令之后,列表key的长度。

LPOP

LPOP用于从列表key的头部删除元素,并返回删除元素。

LPOP key

返回值:列表key的头元素。当key不存在时,返回nil。

RPOP

RPOP用于从列表key的尾部删除元素,并返回删除元素。

RPOP key

RPOP用于从列表key的尾部删除元素,并返回删除元素。

LLEN

LLEN用于返回列表key的长度。

LLEN key

如果key不存在,则key被解释为一个空列表,返回0。如果key不是List类型,返回一个错误。

返回值:列表key的长度。

LREM

LREM用于从列表key中删除count个和value相等的元素。

count的值可以是以下几种。

·count>0:从列表的表头开始向表尾遍历,删除与value相等的元素,数量为count。·count<0:从列表的表尾开始向表头遍历,删除与value相等的元素,数量为count。·count=0:删除列表中所有与value相等的元素。

LREM key count value

返回值:被删除元素的数量。因为不存在的key被视作空列表,所以当key不存在时,LREM总是返回0。

LSET

LSET用于设置列表key中指定索引的元素值,索引从0开始计数。

LSET key index value

返回值:执行成功则返回OK,否则返回错误信息。

LTRIM

LTRIM用于对列表key进行修剪,让列表key只保留指定区间内的元素,不在列表key指定区间之内的元素都将被删除。

LTRIM key start stop

举个例子,执行命令LTRIM list 0 2,表示只保留列表list的前3个元素,其余元素全部被删除。当key不是List类型时,返回一个错误。返回值:命令执行成功时,返回OK。

LINDEX

LINDEX用于返回名称为key的列表中index位置的元素。如果key不是List类型,返回一个错误。

LINDEX key index

返回值:列表key中索引为index的元素。

LINSERT

LINSERT用于将value插入列表key当中,位于pivot之前或之后。当pivot不存在于列表key时,不执行任何操作。如果key不是List类型,返回一个错误。

LINSERT key BEFORE|AFTER pivot value

返回值:如果执行LINSERT命令成功,则返回执行之后的列表长度;如果没有找到pivot,则返回-1;如果key不存在或为空列表,则返回0。

RPOPLPUSH

RPOPLPUSH用于将元素从第一个列表的表尾移动到第二个列表的表头,并返回被移除的元素。

RPOPLPUSH source destination

整个操作是原子性的,如果第一个列表是空或者不存在则返回nil。