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

[经验分享] redis 学习笔记4--sortset

[复制链接]

尚未签到

发表于 2016-12-18 09:22:46 | 显示全部楼层 |阅读模式
  redis学习笔记3--sortSet
  终于到最后一个数据结构了,加油!!
  整体结构图:
  http://dl.iyunv.com/upload/picture/pic/115995/0ee3789f-33e1-35ca-ac65-cbd6b4e4e147.jpg
  1.ZADD
  语法: ZADD key score value 
  释义:添加执行分数的value, score必须是double类型的数值
  实践:
  redis 127.0.0.1:6379> zadd z1 1 a 
  (integer) 1
  redis 127.0.0.1:6379> zadd z1 2 b 
  (integer) 1
  redis 127.0.0.1:6379> zadd z1 20 bb 
  (integer) 1
  redis 127.0.0.1:6379> zadd z1 10 ff  
  (integer) 1
  redis 127.0.0.1:6379> zrange z1 0 -1 
  1) "a"
  2) "b"
  3) "ff"
  4) "bb"
  2.ZREM
  语法:ZREM key value 
  释义:删除指定value的值
  实践:
  redis 127.0.0.1:6379> ZREM z1 b            // 删除,指定value
  (integer) 1
  redis 127.0.0.1:6379> zrange z1 0 -1         
  1) "a"
  2) "ff"
  3) "bb"
  3.ZCARD
  语法:ZCARD key 
  释义:获取集合总数
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 
  1) "a"
  2) "ff"
  3) "bb"
  redis 127.0.0.1:6379> zcard z1 
  (integer) 3
  4.ZCOUNT
  语法:zcount key min max
  释义:计算在指定范围内的元素数目
  (1 6  ==== 1 < x <= 6        // 括号代表开区间
  1 6   ==== 1 <= x <= 6
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "a"
  2) "1"
  3) "ff"
  4) "10"
  5) "bb"
  6) "20"
  redis 127.0.0.1:6379> zcount z1 5 10      // 闭区间,能取得10
  (integer) 1
  redis 127.0.0.1:6379> zcount z1 5 (10     //开区间,无法得到10
  (integer) 0
  5.ZSCORE
  语法:ZSCORE key value
  释义:获取指定key的分数
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "a"
  2) "1"
  3) "ff"
  4) "10"
  5) "bb"
  6) "20"
  redis 127.0.0.1:6379> zscore z1 a             // 获取a的分数
  "1"
  6.ZINCRBY
  语法:ZINCRBY key score value 
  释义:对于指定的value进行加法操作
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "a"
  2) "1"
  3) "ff"
  4) "10"
  5) "bb"
  6) "20"
  redis 127.0.0.1:6379> zincrby z1 10 a            // 对于a+10
  "11"
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "ff"
  2) "10"
  3) "a"
  4) "11"
  5) "bb"
  6) "20"
  redis 127.0.0.1:6379> zincrby z1 -3 a          // 对于a-3
  "8"
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "a"
  2) "8"
  3) "ff"
  4) "10"
  5) "bb"
  6) "20"
  7.ZRANGE|ZREVRANGE
  语法:ZRANGE|ZREVRANGE key 
  释义:显示所有列表
  redis 127.0.0.1:6379> zrange z1 0 -1 
  1) "a"
  2) "ff"
  3) "bb"
  redis 127.0.0.1:6379> zrevrange z1 0 -1 
  1) "bb"
  2) "ff"
  3) "a"
  8.ZRANGEBYSCORE|ZREVRANGEBYSCORE
  语法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
  释义:获取指定范围内的数值
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "a"
  2) "8"
  3) "ff"
  4) "10"
  5) "bb"
  6) "20"
  redis 127.0.0.1:6379> zrangebyscore z1 -inf +inf   // 在不清楚最大最小范围的时间,可以采用这个 -inf +inf 
  1) "a"
  2) "ff"
  3) "bb"
  redis 127.0.0.1:6379> zrangebyscore z1 8 10       // 闭区间
  1) "a"
  2) "ff"
  redis 127.0.0.1:6379> zrangebyscore z1 (8 10      // 开区间
  1) "ff"
  9.ZRANK|ZREVRANK
  语法:zrank|zremrank  key member
  释义:获取指定值在集合中的排名,以0代表第一位 。(顺序或是逆序)
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "a"
  2) "8"
  3) "ff"
  4) "10"
  5) "bb"
  6) "20"
  redis 127.0.0.1:6379> zrank z1 a 
  (integer) 0
  redis 127.0.0.1:6379> zrank z1 ff     //顺序位置
  (integer) 1 
  redis 127.0.0.1:6379> zrevrank z1 a        //逆序位置
  (integer) 2
  10.ZREMRANGEBYRANK
  语法 :ZREMRANGEBYRANK key min max 
  释义:删除指定下标的数据
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 
  1) "a"
  2) "ff"
  3) "bb"
  redis 127.0.0.1:6379> zremrangebyrank z1 0 1 
  (integer) 2
  redis 127.0.0.1:6379> zrange z1 0 -1 
  1) "bb"
  11.ZREMRANGEBYSCORE
  语法 :ZREMRANGEBYSCORE key min max
  释义:根据指定分数删除数据
  实践:
  redis 127.0.0.1:6379> zrange z1 0 -1 withscores 
  1) "bb"
  2) "20"
  redis 127.0.0.1:6379> ZREMRANGEBYSCORE z1 -inf +inf    // 删除所有的数据 等同于  del z1
  (integer) 1
  redis 127.0.0.1:6379> zrange z1 0 -1 
  (empty list or set)
  12.ZINTERSTORE
  语法:ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
  释义:
  计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。
  默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之和.
  实践:
  redis 127.0.0.1:6379> zrange s1 0 -1 
  1) "a"
  2) "b"
  3) "c"
  redis 127.0.0.1:6379> zrange s2 0 -1 
  1) "a"
  2) "c"
  3) "d"
  redis 127.0.0.1:6379> zinterstore s3 2 s1 s2 
  (integer) 2
  redis 127.0.0.1:6379> zrange s3 0 -1 
  1) "a"
  2) "c"
  redis 127.0.0.1:6379> 
  13.ZUNIONSTORE
  语法:ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
  释义:计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination 。
  默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之 和 。
  WEIGHTS
  使用 WEIGHTS 选项,你可以为 每个 给定有序集 分别 指定一个乘法因子(multiplication factor),每个给定有序集的所有成员的 score 值在传递给聚合函数(aggregation function)之前都要先乘以该有序集的因子。
  如果没有指定 WEIGHTS 选项,乘法因子默认设置为 1 。
  AGGREGATE
  使用 AGGREGATE 选项,你可以指定并集的结果集的聚合方式。
  默认使用的参数 SUM ,可以将所有集合中某个成员的 score 值之 和 作为结果集中该成员的 score 值;使用参数 MIN ,可以将所有集合中某个成员的 最小 score 值作为结果集中该成员的 score 值;而参数 MAX 则是将所有集合中某个成员的 最大 score 值作为结果集中该成员的 score 值。
  实践:
  redis 127.0.0.1:6379> zunionstore s3 2 s1 s2 
  (integer) 4
  redis 127.0.0.1:6379> zrange s3 0 -1 
  1) "b"
  2) "a"
  3) "c"
  4) "d"
  redis 127.0.0.1:6379> 

运维网声明 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-315826-1-1.html 上篇帖子: Redis集群部署文档(centos6系统) 下篇帖子: spring-data-redis详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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