Redis工作笔记-Sorted-Sets类型

目录

 

 

概述

操作


 

概述

Sorted-Sets和Sets类型相似,都不能出现重复的成员。他们之间的差别是Sorted-Sets中每一个成员都有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从下到大的排序(默认)尽管Sorted-Sets中成员必须是唯一的,但分数(score)却可以是重复的。

在Sorted-Sets中,添加、删除、更新是非常快速的。因为Sorted-Sets中的成员位置上是有序的。

 

 

操作

增加分数为1的成员;增加分数为2,3的成员

zadd myzset 1 "one"
zadd myzset 2 "two" 3 "three"

通过索引获取元素,0表示第一个成员,-1表示最后一个成员。WITHSOCRES选项表示返回的结果中包含每个成员及分数,否则值返回成员。

获取zset中成员的个数:

zcard myzset

获取成员one在集合中的索引,0表示第一个位置:

zrank myzset one
zrank myzset three

获取符合指定条件的成员数量,分数满足表达式1 <= score <= 2 数量为2

zcount myzset 1 2

删除成员one和two

zrem myzset one two

将成员three的分数加2或减1。返回值为该成员更新后的分数

zincrby myzset 2 three
zincrby myzset -1 three

-inf表示第一个成员,+inf表示最后一个成员,limit后面的参数用于限制返回成员数量,

zadd myzset 1 one 2 two 3 three 4 four
zrangebyscore myzset -inf +inf withscores limit 2 3

按索引从搞到低的方式获取成员

zrevrange myzset 0 -1 WITHSCORES

应用范围:游戏游戏排行榜,执行ZADD命令更新玩家分数,在通过ZRANGE命令获取积分为TOP 10的用户信息。

使用ZRANGE和ZRANK命令快速获取和某个玩家积分相近的其他用户信息。

2.Sorted-Sets类型构件索引数据。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT1995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值