Redis 五种基本数据结构(五)
五.zSet(有序集合类型)
1.简介
Redis的zSet有点像Redis的set,不同点在于zSet存储的value值不能相同,并且zSet赋给每个value一个score,代表这个value的排序权重,zSet会将其中的元素根据score进行排序。
2.常用命令
(1)zadd命令(将一个或多个 value 及其 socre 加入到 set 中):zadd key score value
注:socre值可以相同,value值不能相同
![在这里插入图片描述](https://img-blog.csdnimg.cn/5754ca17fe074f2f9d7acf4a83b43832.png#pic_center)
(2)zrange 命令(输出start到end区间的元素,第一个元素索引为0,最后一个元素索引为-1):zrange key start end
![在这里插入图片描述](https://img-blog.csdnimg.cn/c0ccbbd736c24a6896c4bca9c87f91a2.png)
(3)withscores参数(连同value的 score 一块输出):zrange key 0 -1 withscores
![在这里插入图片描述](https://img-blog.csdnimg.cn/4ce999b78f174132ae4a377772c9ba60.png)
(4)zremrangebyscore命令(删除从start到end区间的元素,返回值为删除的元素个数):zremrangebyscore key start end
![在这里插入图片描述](https://img-blog.csdnimg.cn/93f9696a94104d74ad06a223c29e15f8.png)
(5)zrangebyscore命令
( 将max到min区间的元素升序排序操作,将key按最小值到最大值进行输出):zrangebyscore key min max
![在这里插入图片描述](https://img-blog.csdnimg.cn/1f9e2e5a29084e10ac55b8732104528a.png)
(将max到min区间的元素倒序排序操作,将key按最大值到最小值进行输出): zrevrangebyscore key max min
注意:max值不能为-1,只能为最大元素的score
![在这里插入图片描述](https://img-blog.csdnimg.cn/2995b30703194683a2c3b17fcc57d3bd.png)
(6)zrem命令( 删除一个或多个指定的元素): zrem key value
![在这里插入图片描述](https://img-blog.csdnimg.cn/f1992906d62e47f29f20a032c6c53f17.png)
(7)zcard命令(获取有序集合中的个数):zcard key
![在这里插入图片描述](https://img-blog.csdnimg.cn/b8d5d6456b5c493680611c476293d03a.png)
(8)zcount命令( 获取指定区间的成员数量): zcount key min max
![在这里插入图片描述](https://img-blog.csdnimg.cn/c027086736a54feb8262922243857a3b.png)
(3)应用场景
用于成绩表(根据成绩排序),工资表(根据工资排序),某某榜的点赞值(根据点赞值排序)等