redis学习之有序集合

redis有序集合与集合不同的是每个成员都会关联一个double类型的分数,redis就是利用分数对集合中的成员进行从小到大的排序。

目录

查询集合成员

查询集合成员的分数

统计

加入集合

成员增量

删除集合成员

交集

并集

迭代


查询集合成员

  • zrange key start stop [withscores] 通过索引区间取得有序集合中给定区间内的成员;
  • zrangebylex key min max [limit offset count] 通过字典区间取得有序集合中给定区间内的成员;
  • zrangebyscore key min max [withscores] [limit offset count] 通过成员分数区间取得有序集合中给定区间内的成员;
  • zrevrange key start stop [withscores] 通过索引区间取得有序集合中给定区间内的成员,从大到小排序;
  • zrevrangebyscore key min max [withscores] [limit offset count] 通过成员分数区间取得给定区间内的成员,从大到小排序;

查询集合成员的分数

  • zscore key member 取得有序集合中给定成员的分数值;
  • zrank key member 取得有序集合中给定成员的排名,集合从小到大排序的;
  • zrevrank key member 取得有序集合中给定成员的排名,集合从大到小排序的;

统计

  • zcard key 取得有序集合的成员数;
  • zcount key min max  取得有序集合中指定区间分数的成员数;
  • zlexcount key min max 取得有序集合中指定区间字符串的成员数,该集合必须是同分数的;

加入集合

  • zadd key score member [score member [...]] 向有序集合中添加一个或多个成员,或修改已存在成员的分数;

成员增量

  • zincrby key increment member 对有序集合中指定成员的分数加上增量 increment;

删除集合成员

  • zrem key member [member [...]] 移除有序集合中一个或多个成员;
  • zremrangebylex key min max [with scores] 移除有序集合中给定字符串区间的成员,这个有序集合的分数必须相同,否则有错误;
    例:zadd myzset 0 a 0 b 0 c 0 d 0 e // 分数都是0,必须是相同的
           zremrangebylex myzset [a (c // “[”表示包括字符串a,“(”表示小于字符串c但不包括c
           zrange myzset 0 -1 // 集合只剩下:c d e
     
  • zremrangebyrank key start end 移除有序集合中从start 开始到 end 结束个成员(包括第 start|end 个成员);
  • zremrangebyscore key min max [with scores] [limit] 移除游戏集合中给定分数区间的成员(包括分数为 min|max 的成员);

交集

  • zinterstore destination numkeys key [key [...]] 计算给定的一个或多个有序集合的交集并将结果保存在新的有序集合destination中,其中给定集合的数量必须由numkeys参数指定。

并集

  • zunionstore destination numkeys key [key [...]] 计算给定的一个或多个有序集合的并集并将结果保存在新的有序集合destination中,其中给定集合的数量必须由numkeys参数指定。

迭代

  • zscan key cursor [match pattern] [count] 迭代有序集合中的元素,包括元素成员、元素分值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值