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。 |