首页/数据/数据库速查/HRANDFIELD 随机字段(抽奖/抽样)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

HRANDFIELD 随机字段(抽奖/抽样)

从 Hash 随机取字段:无 count 返回单个字段;count 正数不重复、负数可重复;WITHVALUES 连值一起返回(6.2+)。

数据库速查数据更新于 2026-10-12

示例

示例
HRANDFIELD coupons            # 随机一个字段名
HRANDFIELD coupons 3          # 3 个不重复字段
HRANDFIELD coupons -5         # 5 个可重复字段(可能重复)
HRANDFIELD coupons 2 WITHVALUES   # 字段+值成对返回
无 count返回单个字段名或 nil
正数 count去重,最多返回字段总数个
负数 count允许重复
WITHVALUES连值返回,Redis 6.2+
抽奖类场景配合 SPOP(Set)语义更合适;HRANDFIELD 不删除元素,只做抽样。

易错点

  • count 正数超过字段总数时返回全部字段而不是报错——对调用方的抽奖逻辑要兜底
  • 把 HRANDFIELD 与 SRANDMEMBER 混淆:前者操作 Hash 字段,后者操作 Set 成员

数据来源与参考

  • Redis 官方文档: HRANDFIELD

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌