千家信息网

Redis有序集合Zset怎么用

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章给大家分享的是有关Redis有序集合Zset怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Redis有序集合Zset(sorted set)和set的区别:在
千家信息网最后更新 2025年02月03日Redis有序集合Zset怎么用

这篇文章给大家分享的是有关Redis有序集合Zset怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Redis有序集合Zset(sorted set)

和set的区别:在set基础上加上一个score值,之前set是k1 v1 v2 v3,现在zset是k1 score v1 score v2

1.zadd/zrange

zadd 添加元素

zrange 查看key元素

withscores 查看元素 分数

127.0.0.1:9736> ZADD zset01 60 v1 70 v2 80 v3 90 v4 100 v5(integer) 5127.0.0.1:9736> ZRANGE zset01 0 -11) "v1"2) "v2"3) "v3"4) "v4"5) "v5"127.0.0.1:9736> ZRANGE zset01 0 -1 withscores  1) "v1" 2) "60" 3) "v2" 4) "70" 5) "v3" 6) "80" 7) "v4" 8) "90" 9) "v5"10) "100"

2.zrangebyscore key 开始score 结束score

通过分数查找

( 不包含

limit 对结果限制读取,从n 读取m条,类似分页

127.0.0.1:9736> ZRANGEBYSCORE zset01 60 901) "v1"2) "v2"3) "v3"4) "v4"//大于等于60 小于90127.0.0.1:9736> ZRANGEBYSCORE zset01 60 (901) "v1"2) "v2"3) "v3"//从第二条截取2条127.0.0.1:9736> ZRANGEBYSCORE zset01 60 90 limit 2 21) "v3"2) "v4"

3.zram 删除key中指定值的数据

127.0.0.1:9736> zrem zset01 v5 (integer) 1127.0.0.1:9736> ZRANGE zset01 0 -11) "v1"2) "v2"3) "v3"4) "v4"127.0.0.1:9736> ZRANGE zset01 0 -1 withscores1) "v1"2) "60"3) "v2"4) "70"5) "v3"6) "80"7) "v4"8) "90"

4. zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数

zcard:统计key中值的个数

zcount: 统计 分数阶段中值的个数

zrank 统计key中值所在排名

zscore 统计key中值的分数

127.0.0.1:9736> zcard zset01(integer) 4127.0.0.1:9736> zcount zset01 60 80(integer) 3127.0.0.1:9736> ZRANK zset01 v4(integer) 3127.0.0.1:9736> zscore zset01 v4"90"

5.zrevrank key values值,作用是逆序获得下标值

127.0.0.1:9736> zrevrank zset01 v4(integer) 0127.0.0.1:9736> zrevrange zset01 0 -11) "v4"2) "v3"3) "v2"4) "v1"

6.zrevrangebyscore 从结束分数到开始分数,反转

127.0.0.1:9736> zrevrangebyscore zset01 90 601) "v4"2) "v3"3) "v2"4) "v1"

感谢各位的阅读!关于"Redis有序集合Zset怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0