慕课网-一站式学习Redis从入门到高可用分布式实践-第2章-API的理解和使用-第2章-zset
zset
1.有序集合的结构

2.集合和有序集合的对比

3.列表和有序集合的对比

4.API
1)zadd
添加score和element
zadd key score element(可以是多对)
o(logN)
实例
user:1:ranking 包含数据
1 kris
91 mike
200 frank
220 chris
zadd user:1:ranking 225 tom
2)zrem
删除元素
zrem key element(可以是多个)
o(1)
zrem user:1:ranking 225 tom
3)zscore
返回元素的分数
zscore key element
o(1)
zscore user:1:ranking tom
4)zincrby
增加或减少元素的分数
zincrby key increScore element
o(1)
zincrby user:1:ranking 9 mike
5)zcard
返回元素的总个数
zcard user:1:ranking
o(1)
zcard user:1:ranking
实例
zadd player:rank 1000 ronaldo 900 messi 800 c-ronaldo 600 kaka zscore player:rank kaka zcard player:rank zrank player:rank ronaldo zrem player:rank messi zrange player:rank 0 -1 withscores
6)zrange
返回指定索引范围内的升序元素
zrange key start end [WITHSCORES]
o(log(n)+m)
zrange user:1:ranking 1 3 withscores
7)zrangebyscore
返回指定分数范围内的升序元素[分值]
zrangebyscore key minScore maxScore [WITHSCORES]
o(log(n)+m)
zrangebyscore user:1:ranking 90 210 withscores
8)zcount
返回有序集合内在指定分数范围内的个数
zcount key minScore maxScore
o(log(n)+m)
zcount user:1:ranking 200 221
9)zremrangebyrank
删除指定排名内的升序元素
zremrangebyrank key start end
o(log(n)+m)
zremrangebyrank user:1:ranking 1 2
10)zremrangebyscore
删除指定分数内的升序元素
zremrangebyscore key minScore maxScore
o(log(n)+m)
zremrangebyscore user:1:ranking 90 120
实例
zadd player:rank 1000 ronaldo 900 messi 800 c-ronaldo 600 kaka zrange player:rank 0 -1 zcount player:rank 700 901 zrangebyscore player:rank 700 901 zremrangebyrank player:rank 0 1 zrange player:rank 0 -1 zrange player:rank 0 -1 withscores
实战-排行榜

5.查漏补缺
1)zrevrank
2)zrevrange
3)zrevrangebyscore
4)zinterstore
5)zunionstore
6.有序集合总结

posted on 2019-11-22 13:42 herisson_pan 阅读(15) 评论(0) 收藏 举报
浙公网安备 33010602011771号