黑猴子的家:Redis -> ZSet 类型

1、ZSet 概念 (sorted set)

(1)Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的没有成员都关联了一个评分(score) ,这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了 。

(2)因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表

2、ZSet 基本命令

(1)将一个或多个 member 元素及其 score 值加入到有序集 key 当中
zadd <key> <score1> <value1> <score2> <value2>...

127.0.0.1:6379> zadd z1 100 v1 300 v2 200 v3 150 v4
(integer) 4

(2)返回有序集 key 中,下标在<start> <stop>之间的元素
带WITHSCORES,可以让分数一起和值返回到结果集。
zrange <key> <start> <stop> [WITHSCORES]

从小到大

127.0.0.1:6379> zrange z1 0 -1
1) "v1"
2) "v4"
3) "v3"
4) "v2"
注:0到-1 是展示全部数据

从小到大(分+值)

127.0.0.1:6379> zrange z1 0 -1 withscores
1) "v1"
2) "100"
3) "v4"
4) "150"
5) "v3"
6) "200"
7) "v2"
8) "300"

从大到小(rev)

127.0.0.1:6379> zrevrange z1 0 -1
1) "v2"
2) "v3"
3) "v4"
4) "v1"

127.0.0.1:6379> zrange z1 0 -1
1) "v1"
2) "v4"
3) "v3"
4) "v2"

(3)返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
有序集成员按 score 值递增(从小到大)次序排列。
zrangebyscore key min max [withscores] [limit offset count]

127.0.0.1:6379> zrangebyscore z1 150 300
1) "v4"
2) "v3"
3) "v2"

(4)同上,改为从大到小排列。
zrevrangebyscore key max min [withscores] [limit offset count]

127.0.0.1:6379> zrevrangebyscore z1 300 150
1) "v2"
2) "v3"
3) "v4"

(5)为元素的score加上增量
zincrby <key> <increment> <value>

127.0.0.1:6379> zrange z1 0 -1 withscores
1) "v1"
2) "100"
3) "v4"
4) "150"
5) "v3"
6) "200"
7) "v2"
8) "300"

127.0.0.1:6379> zincrby z1 200 v2
"500"

(6)删除该集合下,指定值的元素
zrem <key> <value>

127.0.0.1:6379> zrange z1 0 -1
1) "v1"
2) "v4"
3) "v3"
4) "v2"

127.0.0.1:6379> zrem z1 v1
(integer) 1

127.0.0.1:6379> zrange zi1 0 -1
1) "v4"
2) "v3"
3) "v2"

(7)统计该集合,分数区间内的元素个数
zcount <key> <min> <max>

127.0.0.1:6379> zcount zi 0 10000
(integer) 3

(8)返回该值在集合中的排名,从0开始。
zrank <key> <value>

正序

127.0.0.1:6379> zrank zi v2
(integer) 2

倒叙

127.0.0.1:6379> zrevrank zi v2
(integer) 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值