Redis 基本数据类型之 Zset 类型

Redis 基本数据类型之 Zset 类型

基本指令

# zset 相对于 set 多了一个 score 字段,是一个有序的集合,其成员是唯一的,但 score 可以重复

127.0.0.1:6379> zadd myzset 1 one # 向 zset 添加一个值
(integer) 1
127.0.0.1:6379> zadd myzset 2 two
(integer) 1
127.0.0.1:6379> zadd myzset 4 four 3 three # 向 zset 添加多个值
(integer) 2
127.0.0.1:6379> zrange myzset 0 -1
1) "one"
2) "two"
3) "three"
4) "four"

# 如何排序
127.0.0.1:6379> zadd salary 2500 zhangsan
(integer) 1
127.0.0.1:6379> zadd salary 2000 lisi
(integer) 1
127.0.0.1:6379> zadd salary 3000 wangwu
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf # 根据 score 进行排序,从负无穷到正无穷的闭区间,这里注意只能从小到大
1) "lisi"
2) "zhangsan"
3) "wangwu"
127.0.0.1:6379> ZRANGEBYSCORE salary -inf 2500 withscores # 根据 score 进行排序,从负无穷到2500的闭区间,并且展示分数
1) "lisi"
2) "2000"
3) "zhangsan"
4) "2500"
127.0.0.1:6379> ZREVRANGEBYSCORE salary +inf -inf withscores # 倒序排序,参数和上面指令相同,只是最大值最小值反一下
1) "wangwu"
2) "3000"
3) "zhangsan"
4) "2500"
5) "lisi"
6) "2000"

# 删除元素
127.0.0.1:6379> zrem salary zhangsan # 删除集合中的元素
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "lisi"
2) "wangwu"
127.0.0.1:6379> zcard salary # 查看集合中元素的数量
(integer) 2

# 获取指定区间的元素数量
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "four"
8) "4"
127.0.0.1:6379> zcount myzset 1 3 # 获取 score 为 1 到 3 闭区间的元素数量
(integer) 3

应用场景

  1. 根据时间排序的新闻列表
  2. 各种排行榜
  3. 带权重的队列,便于先执行重要的任务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值