数据类型 - zset
有序集合Zset(sorted set)
在set的基础上,每个val值前加一个score分数值
之前set是 k1 v1 k2 v2
现在zset是 k1 score1 v1 k2 score2 v2
向有序集合中加入一个元素和该元素的分数
1、添加元素 ZADD key score member [score member] 代码示例: 127.0.0.1:6379> ZADD zset1 6C V1 70 v2 80 v3 90 V4 100 v5 2、按照元素分数从小到大排序 - 返回索引从start到stop之间的所有元素 ZRANGE key start stop[WITHSCORES] 代码示例: 127.0.0.1:6379> ZRANGE Zset1 0 -1 "V1 "V2" "V3 "V4 "V5" 127.0.0.1:6379> ZRANGE Zset1 0-1 withscores 1) "v1" 2) "60" 3) "v2" 4) "70" 5) "v3" 6) "80" 7) "v4" 8) "90" 9) "v5" 10) "100" 3、按照元素分数从大到小排序 ZREVRANGE key start stop[WITHSCORES] 代码示例: 127.0.0.1:6379> ZREVRANGE Zset1 0-1 withscores 1) "v5" 2) "100" 3) "v4" 4) "90" 5) "v3" 6) "80" 7) "v2" 8) "70" 9) "v1" 10) "60" 4、获取指定分数范围的元素 ZRANGEBYSCORE key min max[WITHSCORES][LIMIT offset count] 代码示例:
5.获取元素的分数 ZSCORE key member 代码示例:
6.获取集合中的元素数量 ZCARD key 代码示例: 127.0.0.1:6379>ZCARD zset1 7.获取指定分数范围内的元素个数 ZCOUNT key min max 127.0.0.1:6379> ZCOUNT zset1 60 100 (integer) 4 127.0.0.1:6379> ZCOUNT zset1 65 70 (integer) 1 8.从键名列表中的第一个非空排序集中弹出一个或多个元素,他们是成员分数对 ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count] 代码示例:
9.某score下对应的value值,作用是删除元素 ZREM KEY 10.增加某个元素的分数 ZINCREBY KEY INCREMENT MEMBER 11.获取下标值 ZRANK key values / ZREVRANK key value(倒叙获取) 127.0.0.1:6379> ZRANK zset1 v2 (integer) 0 127.0.0.1:6379>ZREVRANK zset1 v2 (integer) 2
应用场景
根据商品销售对商品进行排序