10-Redis - Sorted Set(ZSet)类型
set的用法:sadd key v1 v2 v3...
zset的用法:zadd key KV键值对
取范围:ZRANG key 0 -1 范围开始 范围结束
不包含等号
127.0.0.1:6379> 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" 127.0.0.1:6379> ZRANGEBYSCORE zset01 60 90 1) "v1" 2) "v2" 3) "v3" 4) "v4" 127.0.0.1:6379> ZRANGEBYSCORE zset01 60 (90 1) "v1" 2) "v2" 3) "v3" 127.0.0.1:6379> ZRANGEBYSCORE zset01 (60 (90 1) "v2" 2) "v3" 127.0.0.1:6379>
limit,和sql的用法一样,分页
limit 查询结果的截取开始索引 查询结果的截取结束索引
127.0.0.1:6379> ZRANGEBYSCORE zset01 60 90 1) "v1" 2) "v2" 3) "v3" 4) "v4" 127.0.0.1:6379> ZRANGEBYSCORE zset01 60 90 limit 2 2 1) "v3" 2) "v4" 127.0.0.1:6379>
删除元素
127.0.0.1:6379> ZREM zset01 v5 (integer) 1 127.0.0.1:6379> ZRANGE zset01 0 -1 withscores 1) "v1" 2) "60" 3) "v2" 4) "70" 5) "v3" 6) "80" 7) "v4" 8) "90" 127.0.0.1:6379>
统计个数
127.0.0.1:6379> ZRANGE zset01 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 zset01 (integer) 4 127.0.0.1:6379>
统计一定范围内的个数
127.0.0.1:6379> ZRANGE zset01 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 zset01 60 80 (integer) 3 127.0.0.1:6379>
获取指定元素的下标
127.0.0.1:6379> ZRANGE zset01 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 zset01 v3 (integer) 2 127.0.0.1:6379>
获取指定元素的值
127.0.0.1:6379> ZRANGE zset01 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 zset01 v4 "90" 127.0.0.1:6379>
逆序取下标
127.0.0.1:6379> ZRANGE zset01 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 zset01 v3 (integer) 1 127.0.0.1:6379>
逆序输出
127.0.0.1:6379> ZRANGE zset01 0 -1 1) "v1" 2) "v2" 3) "v3" 4) "v4" 127.0.0.1:6379> ZREVRANGE zset01 0 -1 1) "v4" 2) "v3" 3) "v2" 4) "v1" 127.0.0.1:6379>
逆序输出的另外一种方式
127.0.0.1:6379> ZRANGEBYSCORE zset01 60 90 1) "v1" 2) "v2" 3) "v3" 4) "v4" 127.0.0.1:6379> ZREVRANGEBYSCORE zset01 90 60 1) "v4" 2) "v3" 3) "v2" 4) "v1" 127.0.0.1:6379>