参考http://redisdoc.com/
1、set与zset区别:
- set的语法格式是 k1 v1 k2 v2
- zset的语法格式是 k1 score1 v1 score2 v2
- 在set的基础上加一个score值
- 将一个或多个 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>