KV型内存数据库Redis(4)

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大于集合中元素的个数则当做该集合的最大下标处理。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e09f70bdc9085347e509b9c215eb523f.html