SPOP移除并返回集合中的一个随机元素,当key不存在或key是空集时返回nil,若key指向其它类型则返回一个错误。
SRANDMEMBER SRANDMEMBER key [count]若只提供了key参数,那么返回集合中的一个随机元素。
当key不存在或key是空集时返回nil,若key指向其它类型则返回一个错误。
若提供了count参数:
若count 为正数,且小于集合基数,那么返回一个包含count个元素的数组,数组中的元素各不相同。
若count 大于等于集合中元素数,那么返回整个集合。
若count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的绝对值。
hash哈希表(hash)是key-value结构, key和value的类型为字符串。
HSET HSET key field value将哈希表key中的域field的值设为value。
如果key不存在, 将创建一个新的哈希表并进行HSET操作。如果域field已经存在于哈希表中,旧值将被覆盖。
若HSET设置了一个新域则返回1,若覆盖了一个已有的域则返回0。
HSETNX HSETNX key field value将哈希表key中的域field的值设为value。
如果key不存在, 将创建一个新的哈希表并进行HSET操作。如果域field已经存在于哈希表中,则不进行任何操作。
若HSETNX设置了一个新域则返回1,若域已经存在则返回0。
HGET HGET key field返回哈希表key中指定域field的值,若哈希表key不存在或其域field不存在则返回nil。
HMSET HMSET key field value [field value ...]同时将多个field-value(域-值)对设置到哈希表key中。若field已存在则会被覆盖。
若key不存在,则创建一个空哈希表并执行HMSET操作
HMGET HMGET key field [field ...]返回哈希表key中一个或多个给定域的值,若field不存在则返回nil。
若key不存在则作为空哈希表处理,每个field都会返回一个nil值。
HDEL HDEL key field [field ...]删除哈希表key中一个或多个指定域,不存在的域将被忽略,返回实际被删除域的数目。
HLEN HLEN key返回哈希表key中域的数量,若key不存在则返回0。
HEXISTS HEXISTS key field判断哈希表key中域field是否存在,若存在返回1。若哈希表key不存在或其中不存在域field则返回0。
HKEYS HKEYS key以列表的形式返回哈希表key中所有域的名称。
HVALS HVALS key返回哈希表key中所有域的值。
HGETALL HGETALL key以列表的形式返回哈希表key中所有的键和值,前一个元素为键其后的元素为它的值。
> HMSET hash a 1 b 2 OK > HGETALL hash 1) "a" 2) "1" 3) "b" 4) "2" HINCRBY, HINCRBYFLOAT HINCRBY key field increment为哈希表key中的域field的值加上增量increment, 增量可以为负数进行减法操作。
若哈希表中不存在域field则现将该域初始化为0,然后进行加法操作。
若哈希表key不存在,则将创建一个空哈希表,然后按上一条规则执行。
若key指向其它类型或域的值不能解释为整数则返回一个错误。
类似地,HINCRBYFLOAT可以进行浮点数运算。
zset有序集合(SortedSet, zset)是一种特殊的集合类型,它不允许重复元素,可以根据每个元素的score进行排序。
ZADD ZADD key [NX|XX] [FH] [INCR] score member [[score member] [score member] ...]将一个或多个member元素及其score值加入到有序集key当中, 若元素已经在集合中则更新它的score,score值可以是整数值或浮点数。
返回新添加的元素的数量,不包括被更新的元素的数量。
当key存在但不是有序集类型时,返回一个错误。
ZADD命令支持一些选项:
NX: 不更新存在的成员,仅添加新成员
XX: 不添加新成员,仅更新存在的成员
CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数(CH=changed)
INCR: 对成员的值进行增加操作而不是设置操作,等同于ZINCRBY命令
ZREM ZREM key member [member ...]移除有序集 key 中的一个或多个成员,不存在的成员将被忽略, 返回实际被移除的元素数量。
当 key 存在但不是有序集类型时,返回一个错误。
ZCARD ZCARD key返回有序集key中元素的数目,若key不存在则返回0,若key指向其它类型则返回一个错误。
ZCOUNT ZCOUNT key min max返回有序集key中,score值在min和max之间(包括等于min或max)的元素数量。
ZRANGE, ZREVRANGE ZRANGE key start stop [WITHSCORES]返回有序集key中,指定区间内的成员。start和stop用于指定元素的排名,它们以0为底且支持负下标,指定的是闭区间。
即0代表集合中score最小的元素,-1代表最大的元素。
其中成员的位置按score值递增(从小到大)来排序, 具有相同score值的成员按字典序来排列。
ZRANGE key 0 -1可以返回集合中所有元素递增排列的序列。
若start的值大于集合中元素的个数 或者 start大于stop值 则返回一个空列表;若stop大于集合中元素的个数则当做该集合的最大下标处理。