设为首页 收藏本站
查看: 634|回复: 0

[经验分享] Redis常用命令(三)有序集合键、HyperLogLog键

[复制链接]

尚未签到

发表于 2018-11-3 11:46:46 | 显示全部楼层 |阅读模式
  ### zet 有序集合,元素为string类型,元素具有唯一性,不重复。
  ### 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序。没有修改操作
  ### 虽然每个元素必不相同,但是score可以相同
  zadd key score1 member1 score2 member2 ...  # 添加
  zadd fruits 1.0 apple 2.4 banana 4 watermelon 5 orange
  # 返回指定范围内的元素,索引从左侧开始,第一个元素为0,
  # 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素;
  # 当给定withscores选项时,元素和分值一并返回
  zrange key start stop [withscores]
  zrange fruits 0 -1
  zrange fruits 0 -1 withscores
  zrevrange key start stop [withscores]  # 按照分值从大到小降序排列,其他同上
  zrevrange fruits 0 -1 withscores
  zrangebyscore key min max [withsocres] [limit offset count]  # 返回score值在min和max之间的成员
  zrangebyscore fruits 5 9
  zrevrangebyscore key max min [withsocres] [limit offset count]  # 按照分值降序排列,返回score值在max和min之间的成员
  zrevrangebyscore fruits 5 4 withscores
  zscore key member  # 返回成员member的score值
  zscore fruits apple
  zrem key member1 member2 ...  # 删除指定元素
  zrem fruits banana watermelon
  zremrangebyscore key min max  # 删除权重在指定范围的元素
  zremrangebyscore fruits 1 3
  zremrangebyrank key start stop  # 元素按照升序排列下,删除指定排名范围内的元素,排名从0开始
  zremrangebyrank fruits 1 2
  zincrby key increment member  # 为有序集合指定元素的分值加上增量increment,如果没有这个集合、元素,则直接创建
  zincrby fruits 1 banana
  zcard key   # 返回有序集合包含的元素数量
  zcard fruits
  zrank key member  # 返回指定元素在有序集合中的排名,其中排名按照元素的分值从小到大排序
  zrank fruits apple   --> 1
  zrevrank key member  # 返回成员在有序集合中的逆序排名,排名到0结束
  zrevrank fruits apple  --> 3
  zcount key min max  # 返回有序集合在升序排列下分值在min和max之间的元素数量
  zcount fruits 1 4
  zunionstore destkey numkeys key [key...]  # 计算并集,结果存储到destkey,numkeys指定进行计算的集合个数
  zadd fruits-8-13 300 apple 200 banana 150 cherry
  zadd fruits-8-14 250 apple 300 banana 100 cherry
  zunionstore fruits-8-13&14 2 fruits-8-13 fruits-8-14  # 得到8月13、14两天所有水果的总数
  zinterstore destkey numkeys key [key...]  # 计算交集,结果存储到destkey,numkeys指定进行计算的集合个数
  ### HyperLogLog 使用常量空间估算大量元素的基数
  ### 即使输入元素的数量或体积非常非常大,计算基数所需的空间总是固定的,并且是很小的
  ### 每个HyperLogLog键花费12kb内存,可以计算接近2^64个基数
  ### HyperLogLog只会根据输入元素来计算基数,而不会存储输入元素,所有它不能返回输入的各个元素
  pfadd key member [member...]  # 将任意数量的元素添加到指定的HyperLogLog
  pfadd unique::ip::counter 192.168.0.1
  pfadd unique::ip::counter 192.168.10.1
  pfcount key [key...]  # 当之给定一个HyperLogLog时,返回给定HyperLogLog的基数估算值; 当给定多个HyperLogLog时,得出一个合并的HyperLogLog,并返回
  pfcount unique::ip::counter
  pfmerge destkey sourcekey [sourcekey...]  # 将多个HyperLogLog合并成一个HyperLogLog,
  # 合并后的HyperLogLog的基数估算是对所有HyperLogLog进行并集计算得出的
  pfadd str1 apple banana cherry
  pfadd str2 cherry durian mongo
  pfmerge str1&str2 str1 str2
  pfcount str1&str2


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630213-1-1.html 上篇帖子: Redis常用命令(二)列表键、无序集合键 下篇帖子: Redis实现微博后台业务逻辑系列(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表