超出范围的下标值不会引起错误,如果start比列表的最大下标还要大那么返回一个空列表,如果stop下标比最大下标还要大,stop的值将被设为最大下标。
LINDEX LINDEX key index返回列表key中,下标为index的元素。若index超出范围或者key指向空列表(key不存在)则会返回nil, 若key指向其它类型则返回错误。
下标以0为底,即0表示列表中的第一个元素, 1表示第二个元素。也可以使用负数下标,-1表示最后一个元素, -2表示倒数第二个元素。
LINSERT LINSERT key BEFORE|AFTER pivot value RPUSH arr "World" LINSERT arr BEFORE "World" "HELLO"将值value插入到列表key中,位于值pivot之前或之后。当pivot不存在于列表key时,不执行任何操作。当key不存在时,key被视为空列表,不执行任何操作。
如果命令执行成功,返回插入操作完成之后列表的长度。如果没有找到pivot返回-1,如果key不存在或为空列表,返回0。
LREM LREM key count value根据参数count的值,移除列表中与参数value相等的元素,返回被移除元素的数量。
count的值可以是以下几种:
count > 0: 从表头开始向表尾搜索,移除与value相等的元素,数量为count。
count < 0: 从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
count = 0: 移除表中所有与value相等的值。
LTRIM LTRIM key start stop让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除, start和stop指定区间的规则与LRANGE相同。
若删除成功或key不存在则返回OK,若key指向其它类型则返回错误。
LSET LSET key index value将列表key中下标为index的元素的值设置为value,下标以0为底,可以使用负数下标。
当index参数超出范围,或对一个空列表(key不存在或指向其它类型)进行LSET时,返回一个错误。
LPOP, RPOP LPOP key移除并返回列表key的头元素, key不存在时返回nil。key指向其它类型时返回错误。
类似地有RPOP命令,移除并返回列表key的尾元素。
set集合(set)是一种无序容器,不存在重复元素,可以用于判断元素是否存在或者进行交并差运算。
Redis中集合的元素类型只能是字符串,不支持其它类型。
SADD SADD key member [member ...]将一个或多个member元素加入到集合key当中,返回添加到集合中新元素的数量,已经存在于集合的元素将被忽略。
若key不存在先初始化一个空集合然后添加成员,若key指向了非集合类型则会产生错误。
SSCARD SSCARD key返回集合中元素的数量,key不存在时返回0,key指向其它类型时返回一个错误。
SMEMBERS SMEMBERS key返回key指向的集合中的所有成员,若key不存在返回空集,若key指向其它类型则返回一个错误。
SISMEMBER SISMEMBER key member判断member元素是否集合key的成员, 若元素是集合的成员返回1,若元素不是集合的成员或者集合不存在则返回0。
若key指向其它类型则返回一个错误。
SREM SREM key member [member ...]移除集合中的一个或多个元素,不存在的元素会被忽略,返回被成功移除的元素的个数。
若key不存在则作为空集处理,返回0。若key指向其它类型则返回一个错误。
SINTER, SUNION, SDIFF SINTER key [key ...] SUNION key [key ...] SDIFF key [key ...]返回给定集合的交集(SINTER),并集(SUNION)和差集(SDIFF),若key不存在则作为空集处理,若key指向其它类型则返回一个错误。
SINTERSTORE, SUNIONSTORE, SDIFFSTORE SINTER dest key [key ...] SUNION dest key [key ...] SDIFF dest key [key ...]计算给定集合的交集(SINTERSTORE),并集(SUNIONSTORE)和差集(SDIFFSTORE),并将结果存入dest集合,若dest集合已存在则将其覆盖。
若key不存在则作为空集处理,若key指向其它类型则返回一个错误。
dest可以是某个参与计算的key,dest可以指向其它类型,计算结束后dest中的值会被覆盖。
SPOP SPOP key