在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Redis有序集合如何使用

122次阅读
没有评论

共计 4843 个字符,预计需要花费 13 分钟才能阅读完成。

这篇文章主要介绍“Redis 有序集合如何使用”,在日常操作中,相信很多人在 Redis 有序集合如何使用问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis 有序集合如何使用”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

Redis 数据结构:有序集合

有序的集合。每个元素都由一个成员和一个与成员相关联的分值组成,成员以字符串存储,分值以 64 位双精度浮点数存储。成员不可重复,以分值大小进行排序,相同分值时以成员字典序排序。

数据结构

字符串

散列

列表

集合

有序集合

HyperLogLog

位图

地理坐标

有序集合(sorted set)

添加或更新成员
1.zadd 命令??格式:zadd key [NX|XX] [GT|LT] [CH] [INCR] score member [score member …]
返回添加成功的新成员数量,若执行的是更新成员分值返回 0。
zadd key score member [score member …]

XX 选项的作用是只更新不添加,执行后返回 0。
zadd key XX score member [score member …]

NX 选项的作用是只添加不更新,执行成功返回添加元素的个数。
zadd key NX score member [score member …]

CH 选项的作用是返回被修改成员的数量而非添加成功的成员数量,被修改包括新添加。
zadd key CH score member [score member …]

移除指定成员
1.zrem 命令??格式:zrem key member [member …]
返回被移除成员的数量,成员不存在于集合中时自动忽略。
zrem key member [member …]

2.zremrangebyrank 命令??格式:zremrangebyrank key start stop
移除指定排名范围内的成员,返回被移除成员的数量,排名可使用正数排名或负数排名。
zremrangebyrank key start stop

3.zremrangebyscore 命令??格式:zremrangebyscore key min max
移除指定分值范围内的成员,返回被移除成员的数量。min 或 max 前加“(”表示取开区间即不包含边界值。
zremrangebyscore key min max

4.zremrangebylex 命令??格式:zremrangebylex key min max
对于按照字典序排列的有序集合(即分值相同),移除指定字典序范围内的成员。返回被移除成员的数量,min、max 的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
zremrangebylex key min max

弹出元素
1.zpopmax 命令??格式:zpopmax key [count]
弹出分值最高的 count 个成员,分值最高有多个元素时弹出字典序最大的成员,若未指定 count 默认 1 个,执行完成后返回被弹出元素的成员和分值。
zpopmax key [count]

2.zpopmin 命令??格式:zpopmin key [count]
弹出分值最低的 count 个成员,分值最低有多个元素时弹出字典序最小的成员,若未指定 count 默认 1 个,执行完成后返回被弹出元素的成员和分值。
zpopmin key [count]
3.bzpopmax 命令??格式:bzpopmax key [key …] timeout
阻塞式的 zpopmax 命令,timeout 为秒级精度。命令依次检查给定的有序集合,并从第一个非空集合弹出分值最大的元素,否则阻塞当前客户端直到有元素或超出超时时间返回 nil。成功弹出元素时将返回一个列表,包含被弹出元素所在有序集合、成员以及分值。
bzpopmax key [key …] timeout
Redis 有序集合如何使用
4.bzpopmin 命令??格式:bzpopmin key [key …] timeout
阻塞式的 zpopmin 命令,timeout 为秒级精度。命令依次检查给定的有序集合,并从第一个非空集合弹出分值最小元素,否则阻塞当前客户端直到有元素或超出超时时间返回 nil。成功弹出元素时将返回一个列表,包含被弹出元素所在有序集合、成员以及分值。
bzpopmin key [key …] timeout
Redis 有序集合如何使用
客户端 2:
Redis 有序集合如何使用

获取成员分值
1.zscore 命令??格式:zscore key member
获取给定成员的分值,集合不存在或者成员不存在时返回 nil。
zscore key member
Redis 有序集合如何使用

对成员分值做运算
1.zincrby 命令??格式:zincrby key increment member
执行完后返回当前成员分值,increment 为正时自增,否则为自减;若键不存在或成员不存在则执行创建操作。
zincrby key increment member
Redis 有序集合如何使用

获取成员数量
1.zcard 命令??格式:zcard key
返回集合包含的成员数量,集合不存在时返回 0。
zcard key
Redis 有序集合如何使用
2.zcount 命令??格式:zcount key min max
获取指定分值范围内的成员数量,min 或 max 前加“(”表示取开区间即不包含边界值,值 +inf 表示无穷大,-inf 表示无穷小。
zcount key min max
Redis 有序集合如何使用
3.zlexcount 命令??格式:zlexcount key min max
对于按照字典序排列的有序集合(即分值相同),获取指定字典序范围内的成员数量,min、max 的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
zlexcount key min max
Redis 有序集合如何使用

获取成员排名
1.zrank 命令??格式:zrank key member
返回成员的升序排列排名,集合或成员不存在时返回 nil。
zrank key member
Redis 有序集合如何使用
2.zrevrank 命令??格式:zrevrank key member
返回成员的降序排列排名,集合或成员不存在时返回 nil。
zrevrank key member
Redis 有序集合如何使用

获取成员
1.zrange 命令??格式:zrange key min max [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
获取指定索引范围内的成员,按分值大小升序排列。WITHSCORES 选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回 empty。
zrange key min max [WITHSCORES]
Redis 有序集合如何使用
2.zrevrange 命令??格式:zrevrange key start stop [WITHSCORES]
获取指定索引范围内的成员,按分值大小降序排列。WITHSCORES 选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回 empty。
zrevrange key start stop [WITHSCORES]
Redis 有序集合如何使用
3.zrangebyscore 命令??格式:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
获取指定分值范围内的成员,按分值大小升序排列。WITHSCORES 选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回 empty。
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
Redis 有序集合如何使用
[LIMIT offset count]选项的作用是限制返回的成员数量,offset 指定需要跳过的成员数量,count 执行最多返回成员的数量,count 为负时取绝对值。
Redis 有序集合如何使用
min 或 max 前加“(”表示取开区间即不包含边界值,值 +inf 表示无穷大,-inf 表示无穷小。
Redis 有序集合如何使用
4.zrevrangebyscore 命令??格式:zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
获取指定分值范围内的成员,按分值大小降序排列,注意 max min 顺序。
zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
Redis 有序集合如何使用
5.zrangebylex 命令??格式:zrangebylex key min max [LIMIT offset count]
当成员分值相同时,获取指定字典序范围内成员,按字典序升序排列,min、max 的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
zrangebylex key min max [LIMIT offset count]
Redis 有序集合如何使用
6.zrevrangebylex 命令??格式:zrevrangebylex key max min [LIMIT offset count]
当成员分值相同时,获取指定字典序范围内成员,按字典序降序排列,max、min 的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
zrevrangebylex key max min [LIMIT offset count]

集合运算
1. 并集
?1)zunionstore 命令??格式:zunionstore destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
numkeys 为参与运算的集合数量,不对应时返回 error,执行完后返回新集合的成员数量。并集得到的为成员集合,若参与运算的集合中有相同成员,则默认新集合的成员分值为原集合成员分数相加。
zunionstore destination numkeys key [key …]
Redis 有序集合如何使用
AGGREGATE 选项作用是指定使用的聚合函数,不指定时默认 SUM。SUM 指分值相加,MIN 指取最小分值,MAX 指取最大分值。
zunionstore destination numkeys key [key …] [AGGREGATE SUM|MIN|MAX]
Redis 有序集合如何使用
WEIGHTS 选项作用是执行聚合前为每个集合分别设置一个权重,权重分别与集合中成员分值相乘得到新分值,然后执行聚合计算。
Redis 有序集合如何使用
?2)zunion 命令??格式:zunion numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
执行完成后返回新集合成员。
zunion numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
2. 交集
?1)zinterstore 命令??格式:zinterstore destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
执行完后返回新集合的成员数量。
zinterstore destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
?2)zinter 命令??格式:zinter numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
执行完后返回新集合成员。
zinter numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
注意:
1. 集合运算可以使用集合作为输入,默认情况下,集合成员的分值看做 1 参与运算,可使用 WEIGHTS 选项设置权重改变集合分值。

常见用法
1. 排行榜
2. 时间线

到此,关于“Redis 有序集合如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计4843字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 在线一区二区三区 | 最新自拍偷拍视频 | 国产精品国色综合久久 | 国产亚av手机在线观看 | av无码电影一区二区三区 | 精品人妻va出轨中文字幕 | 中文字幕在线视频不卡 | 亚洲大尺度无码专区尤物 | 日本激情视频网站 | 大陆一级毛片免费视频观看i | 亚洲熟妇国产熟妇肥婆 | 亚洲精品久久久久久久观小说 | 一区二区三区免费在线 | 国精品人妻无码一区二区三区喝尿 | 授乳の 中文字幕 | 久久国产精久久精产国 | 狠狠热精品免费观看 | 亚州视频在线 | 在线高清h视频在线观看 | 欧美黑人又粗又大高潮喷水 | 牛牛本精品99久久精品88m | 极品少妇hdxx麻豆hdxx | 91精品国产露脸对白 | 国产xxxx视频在线观看 | 国产乱子伦精品无码码专区 | 激情综合色五月丁香六月欧美 | 欧美同志xxxx | 久久国产精品系列 | 亚洲欧美一区二区三区久本道 | 国产喷水1区2区3区咪咪爱av | 台湾佬中文娱乐网更新 | 老司机在线精品视频免费看 | 一二三四社区在线中文视频 | 久久精品免费看 | 久久 精品 一区二区 | va视频在线| 久久成人精品 | 亚洲国产欧美在线人成大黄瓜 | 性生活黄色一级片 | 国产偷窥熟女精品视频大全 | 国产精品久久久久高潮 |