HRANDFIELD 公司
语法
HRANDFIELD key [count [WITHVALUES]]
- 从以下位置开始可用:
- 6.2.0
- 时间复杂度:
- O(N),其中 N 是返回的字段数
- ACL 类别:
-
@read
,@hash
,@slow
,
当仅使用key
参数,从存储在key
.
如果提供的count
argument 为正数,则返回一个包含不同字段的数组。
数组的长度为count
或哈希的字段数 (HLEN
),以较低者为准。
如果使用负数调用count
,则行为会发生变化,并且允许该命令多次返回同一字段。
在这种情况下,返回的字段数是指定count
.
可选的WITHVALUES
modifier 更改回复,使其包含随机选择的哈希字段的相应值。
例子
传递 count 时的行为规范
当count
argument 为正值,此命令的行为如下:
- 不会返回重复的字段。
- 如果
count
大于 hash 中的字段数,则该命令将仅返回整个 hash,而不返回其他字段。 - 回复中字段的顺序并不是真正随机的,因此如果需要,由客户端对它们进行随机排序。
当count
为负值时,行为将发生如下变化:
- 可以重复字段。
- 完全
count
fields 或空数组(如果哈希为空(不存在的键))。 - 回复中的字段顺序确实是随机的。
RESP2 回复
以下任何一项:
- nil 回复:如果 key 不存在
- 批量字符串回复:当
count
选项 - Array reply:包含
count
字段,当count
选项,如果键不存在,则为空数组。 - 数组回复:字段及其值的列表
count
和WITHVALUES
都使用了。
RESP3 回复
以下任何一项:
- Null 回复:如果 key 不存在
- 批量字符串回复:当
count
选项 - Array reply:包含
count
字段,当count
选项,如果键不存在,则为空数组。 - 数组回复:字段及其值的列表
count
和WITHVALUES
都使用了。