首页/数据/数据库速查/SRANDMEMBER 随机读取(不删除)
Redis 命令96 条

SRANDMEMBER 随机读取(不删除)

随机取成员但保持集合完整:正数 count 去重、负数 count 可重复;适合「随机推荐」「随机抽样展示」。

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

示例

示例
SADD article:tags hot new deep
SRANDMEMBER article:tags        # 随机 1 个
SRANDMEMBER article:tags 3       # 3 个不重复(不足时返回全部)
SRANDMEMBER article:tags -10     # 10 个可重复(可超过基数)
SCARD article:tags               # 3:集合未被修改
无 count随机单成员,nil 表示空集
正数去重,最多=基数个
负数允许重复,个数可超过基数
抽奖需要「抽中即出局」用 SPOP;随机推荐/随机问答用 SRANDMEMBER 不动数据。

易错点

  • 正数 count 大于基数时返回全部而非报错,调用方要接受小的样本
  • 混淆 SPOP/SRANDMEMBER:一个删数据一个不删,抽奖逻辑写错会重复中奖或丢奖

数据来源与参考

  • Redis 官方文档: SRANDMEMBER

相关工具

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