您当前的位置: 首页 >  redis

小志的博客

暂无认证

  • 1浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Redis数据类型——常用Redis有序集合Zset(sorted set)重点

小志的博客 发布时间:2019-08-04 19:25:36 ,浏览量:1

参考http://redisdoc.com/ 1、set与zset区别:
  • set的语法格式是 k1 v1 k2 v2
  • zset的语法格式是 k1 score1 v1 score2 v2
  • 在set的基础上加一个score值
2、zadd key score member [[score member] [score member] …]
  • 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
127.0.0.1:6379> zadd set1 60 v1 70 v2 80 v3 90 v4 100 v5  
(integer) 5
127.0.0.1:6379> zrange set1 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
127.0.0.1:6379> 

3、zrange key start stop [withscores]
  • 返回有序集 key 中,指定区间内的成员。
  • 其中成员的位置按 score 值递增(从小到大)来排序。
127.0.0.1:6379> zadd set1 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5
127.0.0.1:6379> zrange set1 0 -1   //获取所有的值
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
127.0.0.1:6379> zrange set1 0 -1 withscores  //获取所有的值和分数
 1) "v1"
 2) "60"
 3) "v2"
 4) "70"
 5) "v3"
 6) "80"
 7) "v4"
 8) "90"
 9) "v5"
10) "100"
127.0.0.1:6379> 
4、zrangebyscore key min max [withscores] [limitoffset count]
  • 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
  • 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。
127.0.0.1:6379> zrangebyscore set1 60 90  //获取60 zrangebyscore set1 60 90    //获取60 zrem set1 v5  //移除分数100的值k5
(integer) 1
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> 
6、zcard key
  • 返回有序集 key 的基数。
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zcard set1 
(integer) 4
127.0.0.1:6379> 
7、zcount key min max
  • 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zcount set1 60 90
(integer) 4
127.0.0.1:6379> 
8、zrank key member
  • 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。即获取下标。
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zrank set1 v4  //获取值vv3的下标为3
(integer) 3
127.0.0.1:6379> 
9、zscore key member
  • 返回有序集 key 中,成员 member 的 score 值。
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zscore set1 v4
"90"
127.0.0.1:6379> 
10、zrevrank key member
  • 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。即逆序获取下标值。
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zrevrank set1 v4  //逆序获取值vv3的下标为0
(integer) 0
127.0.0.1:6379> 
11、zrevrange key start stop [withscores]
  • 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列
127.0.0.1:6379> zrange set1 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> zrevrange set1 0 -1  //逆序获取所有set1的值
1) "v4"`在这里插入代码片`
2) "v3"
3) "v2"
4) "v1"
127.0.0.1:6379> 	
12、revrangebyscore key min max [withscores] [limitoffset count]
  • 返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列
127.0.0.1:6379> zrange set1 0 -1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> ZREVRANGEBYSCORE set1 90 60 //获取从90到60的值
1) "v4"
2) "v3"
3) "v2"
4) "v1"
127.0.0.1:6379> 
关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0432s