美文网首页PHP开发PHP经验分享
Redis 有序集合命令汇总

Redis 有序集合命令汇总

作者: phpworkerman | 来源:发表于2020-12-19 22:14 被阅读0次
添加有序集合元素
  • 有序集合KEY 不存在,创建新的并添加元素和分数Score,分数可以是整数或双精度浮点数
  • 添加的元素存在,且分数Score一样,不改变
  • 添加的元素存在,且分数Score不一样,更新分数
  • KEY 不为有序集合时,执行命令返回错误
zadd website 10 google.com 5 baidu.com 3 360.com 3 sina.com
zadd website 10 google.com //不改变
zadd website 9 google.com //更新score
返回有序集合的基数
  • 有序集合KEY不存在时,返回0
zcard website //返回 4
zcard top // top 不存在,返回0
返回有序集合的指定成员数量
  • min 和 max 参数都是包含当前值
  • zcard 为返回所有成员数量,zcount 是返回区间值,必须包含参数
zcount website 3 5 //返回 3
对有序集合的成员分数做增减
  • increment 的增量参数可以设置整数或双精度浮点数,也可以设置负数表示减去值
  • 如果KEY不存在或KEY中没有当前的成员,执行新增操作
  • KEY 不是有序集合时,返回错误
zincrby website 1 baidu.com // 加 1 后,返回最新分数 6
返回有序集合区间成员
  • 返回结果按score值递增排序
  • 下标 start > stop 时,不会报错并返回空列表,下标 stop 超过成员最大数量时,按最大值处理
  • 参数 withscores 添加时,会一同返回成员的分数
  • 按score递减排名命令为 zrevrange,实现方法一致
zrange website 0 -1 //返回所有成员
按分数区间返回有序集合
  • score值递增排序,包含参数 min 和 max
  • 支持可选参数 withscores 显示成员分数
  • 支持可选参数 limit 按指定数据偏移量返回集合
  • 默认的参数 min 和 max 是闭区间,加上括号后表示开区间
  • 当不知道到 min 和 max 的具体值时,可用 +inf (向上无限) 和 -inf(向下无限)替代
  • 按 socre 值递减排序命令为**zrevrangebyscore **,实现方法一致
zrangebyscore 3 5
zrangebyscore website (3 5
zrangebyscore website 3 10 withscores limit 2 2
zrangebyscore website 3 +inf withscores
返回有序集合中指定成员的排名
  • 按score递增排名,排名从0开始
  • 成员不在有序集合中,返回 nil
  • 按score递减排名命令为 zrevrank,实现方法一致
zrank website google.com
移除有序集合的成员
  • 可以移除一个或多个成员,不存在的成员会被忽略
  • 如果移除的KEY不是有序集合,会报错
zrem website google.com //成功返回删除成员数量
按排名移除指定区间成员
zremrangebyrank website 0 -1 //返回被移除成员的数量
按分数移除指定区间成员
zremrangebyscore website 3 9 //返回被移除成员的数量
返回有序集合成员的分数
zscore website google.com //返回分数
计算有序集合的交集
  • 进行交集计算的集合必须在参数里声明数量
  • 运算结果会重新赋值给新生成的集合
zadd websitetop 8 google.com 7 baidu.com 6 360.com
zinterstore result 2 website websitetop
计算有序集合的并集
  • 进行交集计算的集合必须在参数里声明数量
  • 运算结果会重新赋值给新生成的集合
  • weight参数可以为选定的集合里的每个成员指定一个乘法因子,所有成员在进行合并之前先与乘法因子进行相乘
  • aggregate 参数可以指定集合的聚合方式,默认sum计算成员合并后的和,min取同成员中的最小分数,max取同成员中的最大分数
zunionstore newreuslt 2 website websitetop aggregate max //返回合并后各成员中分数最高的
zunionstore weightresult 2 website websitetop weight 1 2 //设置乘法因子,第二个集合在合并前所有成员都乘以 2

相关文章

网友评论

    本文标题:Redis 有序集合命令汇总

    本文链接:https://www.haomeiwen.com/subject/jkbqnktx.html