前面提到的几种数据类型都各有特点,但是如果想对数据进行排序却做不到,想要数据能够按照某种特色进行排序,需要用到一种新类型,sorted_set。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
文章目录
sorted_set数据类型
在前面set的基础上,对每个元素增加一个score关键字,然后按照score的内容去进行排序。score关键字的内容可以选择显示或者不显示。
常用操作
更多操作可以通过help @sorted_set
来查看
添加数据:
- zadd key score1 member1 [score2 member2 …]
127.0.0.1:6380> zadd age 18 xiaofu 35 james 100 kobe
(integer) 3
127.0.0.1:6380>
需要注意的是对sorted_set中的元素重新利用zadd来赋值一个新的score的时候,会返回0,但是却赋值成功了。可能是因为类似set类型,不允许有重复的元素。
127.0.0.1:6380> zadd age 40 xiaofu
(integer) 0
查看数据:
- zrange key start stop [withscores]
- zrevrange key start stop [withscores]
一个是按照从小到大的顺序,另一个是反向。默认是不显示score内容的,如果带上withscores
关键字就会显示score。因为有顺序,就会有索引的概念,就跟前面的list数据类型一样,start
和stop
分别表示开始和结束的索引,从0开始,-1表示最后一位。
127.0.0.1:6380> zrange age 0 -1
1) "james"
2) "xiaofu"
3) "kobe"
127.0.0.1:6380> zrange age 0 -1 withscores
1) "james"
2) "35"
3) "xiaofu"
4) "40"
5) "kobe"
6) "100"
获取最大值
127.0.0.1:6380> zrevrange age 0 0 withscores
1) "kobe"
2) "100"
127.0.0.1:6380>
删除数据
- zrem key member [member …]
127.0.0.1:6380> zrem