Redis五种数据结构之zset/SortedSet(集合) 常用函数及案例

Redis五种数据结构之zset(集合) 常用函数及案例

Redis五种数据结构分别是:

  • String: Key-Value(set key value/get key)
  • Hash: key-filedValue(Map,即key对应Map)
  • List: 有序,可重复
  • Set: 无序,不可重复
  • SortedSet(zset): 有序,不可重复

ZSet常用函数及案例(可用于去重/交集/补集/并集)

Zset是在set基础上,加一个score值。

  • 之前set是k1 v1 v2 v3
  • 现在是k1 score1 v1 score2 v2
zadd/zrange

zadd:创建zset
zrange:查看zset中的元素

127.0.0.1:6379> zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5
127.0.0.1:6379> zrange zset01 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
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"
zrangebyscore
  • zrangebyscore key 开始score 结束score(默认包含开始score和结束score)
  • 添加(表示不包含
  • limit作用是返回限制,limit开始下标步,多少步
127.0.0.1:6379> zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5
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) "v2"
2) "v3"
127.0.0.1:6379> zrangebyscore zset01 60 (90
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> zrangebyscore zset01 60 90 limit 2 2
1) "v3"
2) "v4"
127.0.0.1:6379> zrangebyscore zset01 60 90 limit 0 3
1) "v1"
2) "v2"
3) "v3"
zrem

zrem:zrem key 某score下对应的value值,作用是删除元素

127.0.0.1:6379> zrange zset01 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
127.0.0.1:6379> zrem zset01 v1
(integer) 1
127.0.0.1:6379> zrange zset01 0 -1
1) "v2"
2) "v3"
3) "v4"
4) "v5"
zcard/zcount/zrank/zscore

zcard/zcount:统计个数(zcard/zcount key score区间)
zrank:获得下标值(zrank key values值)
zscore:获得分数(zscore key 对应值)

127.0.0.1:6379> zcard zset01
(integer) 4
127.0.0.1:6379> zcount zset01 80 100
(integer) 3
127.0.0.1:6379> zrank zset01 v5
(integer) 3
127.0.0.1:6379> zrank zset01 v4
(integer) 2
127.0.0.1:6379> zscore zset01 v3
"80"
zrevrank/zrevrange/zrevrangebyscore

zrevrank:zrevrank key value值,获得逆序下标值
zrevrange:获得逆序值
zrevrangebyscore:获得逆序排序值

127.0.0.1:6379> zrevrank zset01 v4
(integer) 1
127.0.0.1:6379> zrevrank zset01 v5
(integer) 0
127.0.0.1:6379> zrange zset01 0 -1
1) "v2"
2) "v3"
3) "v4"
4) "v5"
127.0.0.1:6379> zrevrange zset01 0 -1
1) "v5"
2) "v4"
3) "v3"
4) "v2"
127.0.0.1:6379> zrevrangebyscore zset01 90 70
1) "v4"
2) "v3"
3) "v2"
127.0.0.1:6379> zrevrangebyscore zset01 70 90
(empty list or set)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值