什么是ZSet
ZSet是有序
集合,Redis可以把一堆通过权重排序的数据当做一个Value存储起来
Redis-ZSet类型-增删改查
新增
- 语法:zadd key 权重 value 权重 value
zadd names 99 BNTang 77 zs 88 ww
查询
- 查询指定排名范围内的数据(排名完毕之后的索引)
- 语法:zrange key start end
zrange names 0 -1
- 查询指定权重范围内的数据
- 语法:zrangebyscore key 权重 权重
zrangebyscore names 60 90
- 查询指定元素权重
- 语法:zscore key element
zscore names BNTang
- 查询指定权重范围内元素个数
- 语法:zcount key minscore maxscore
zcount names 60 90
- 查询集合中元素个数
- 语法:zcard key
zcard names
删除
- 删除指定元素
- 语法:zrem key value
zrem names BNTang
为了后面的测试,把删除的数据再次添加
zadd names 99 BNTang
- 删除指定排名范围元素
- 语法:zremrangebyrank key start end
zremrangebyrank names 0 1
为了后面的测试,把删除的数据再次添加
zadd names 77 zs 88 ww
- 删除指定权重范围元素
- 语法:zremrangbyscore key minscore maxscore
zremrangebyscore names 60 90
Redis-ZSet类型-其它操作
- 增加或减少元素权重
- 语法:zincrby key score element
为了后面的测试,把删除的数据再次添加
zadd names 77 zs 88 ww
zincrby names 5 zs
- 从高到低的操作
- 语法:zrevrange
zrevrange names 0 -1
主要加了zrev
...都是从高到低操作
Redis-ZSet类型-应用场景
存储排行榜数据