开发者学堂课程【Redis 入门到精通(基础篇):数据类型-sorted_set 基本操作(2)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/764/detail/13391
数据类型-sorted_set 基本操作(2)
内容介绍
一、Sorted_set 类型数据的基本操作
二、注意
一、Sorted_set 类型数据的基本操作
按条件获取数据
zrangebyscore key min max [WITHSCORES] [LIMIT]
zrevrangebyscore key max min [WITHSCORES]
条件删除数据zremrangebyrank key start stop
zxemrangebyscore key min max
学习了添加删除查询的基本操作,还有一个 score 的特征字段,衍生出一些特别的操作,先看一下查询,先自行添加一组数据,六个人对应六个成绩,然后有两个操作,一个正向,一个反向,zrangebyscore 50 80 ,然后就得到了范围在50-80的数据,反向查询将顺序进行调换就可以了,limit在MySQL里面是指限定查询结果的东西,可能做分页功能一样,做一个50-99之间查询的前三个数据,然后就是zrangebyscore score 50 99 limit 0 3 withscore,然后就得到了条件查询后的重新排列的索引的前三个值,这个是按照score查询的,下面的删除,也是按照score进行删除的,zremrangebyscore score 50 70,显示删除成功一个。
按条件排序有一个顺序,就是按索引,zremrangebyrank score 0 1,成功,然后查看,确实删除了。
二、注意
min 与 max 用于限定搜索查询的条件
start 与 stop 用于限定查询范围,作用于索引,表示开始和结束索引
offset 与 count 用于限定查询范围,作用于查询结果,表示开始位和数据总量
条件查询,跟前面描述的有关,min 与 max 用于限定搜索查询的条件,start 与stop 用于限定查询范围,作用于索引,表示开始和结束索引,offset与count用于限定查询范围,作用于查询结果,表示开始位和数据总量,这三个的感觉就是都可以写成数字范围,但是区别要做一个区分。
获取集合数据总量
zcard key
zcoum key min max
集合交、并操作
zinterstore destination numkeys key [key...]
zunionstore destination numkeys key [key...]
查看有多少数据,zcard scores,剩三个,看范围数据有多少,zcount scores 99 200,得到两个;
交并操作,构建一个环境,zadd s1 50 aa 60 bb 70 cc,zadd s2 60 aa 40 bb 90 dd,zadd s3 70 aa 20 bb 100 dd,然后进行操作,zinterstore ss 3 s1 s2 s3,得到返回2,zrange ss 0 -1 withscores,最后得到的只有aa bb,因为c跟d并不是都有,求交集就去掉了,还做了求和操作,查看指令还可以求最小值或者最大值,合完之后可以进行求和等的合并操作,下面的指令之间查看,help zunionstore,看到还有基本操作。