大家好,今天我们分享Redis zset(有序集合)的解释
其实,zset 的全称为sorted set
redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
简单来讲,就是在set 的基础之上,添加一个值
我们首先设一个值
127.0.0.1:6379> ZADD kele 1 one
(integer) 1
127.0.0.1:6379>
创建几个人的工资
127.0.0.1:6379> zadd gongzi 1000 zhangsan
(integer) 1
127.0.0.1:6379> zadd gongzi 1200 lisi
(integer) 1
127.0.0.1:6379> zadd gongzi 2000 wangwu
(integer) 1
从小到大的排列
127.0.0.1:6379> ZRANGEBYSCORE gongzi -inf +inf
1) "zhangsan"
2) "lisi"
3) "wangwu"
显示所有数据
127.0.0.1:6379> ZRANGEBYSCORE gongzi -inf +inf withscores
1) "zhangsan"
2) "1000"
3) "lisi"
4) "1200"
5) "wangwu"
6) "2000"
127.0.0.1:6379>
工资小于2500的人(以降序的方式排列)
127.0.0.1:6379> ZRANGEBYSCORE gongzi -inf 2500 withscores
1) "zhangsan"
2) "1000"
3) "lisi"
4) "1200"
5) "wangwu"
6) "2000"
127.0.0.1:6379>
展示所有人
127.0.0.1:6379> ZRANGE gongzi 0 -1
1) "zhangsan"
2) "lisi"
3) "wangwu"
删除lisi
127.0.0.1:6379> ZREM gongzi lisi
(integer) 1
127.0.0.1:6379>
看现在的结果:
127.0.0.1:6379> ZRANGE gongzi 0 -1
1) "zhangsan"
2) "wangwu"
获取有序集合当中数据的个数
127.0.0.1:6379> zcard gongzi
(integer) 2
新建一些数据
127.0.0.1:6379> zadd jishu 1 mysql
(integer) 1
127.0.0.1:6379> zadd jishu 2 linux
(integer) 1
127.0.0.1:6379> zadd jishu 3 redis
(integer) 1
127.0.0.1:6379> zadd jishu 4 git
(integer) 1
127.0.0.1:6379> zadd jishu 5 css
(integer) 1
展示数据
127.0.0.1:6379> ZRANGEBYSCORE jishu -inf +inf withscores
1) "mysql"
2) "1"
3) "linux"
4) "2"
5) "redis"
6) "3"
7) "git"
8) "4"
9) "css"
10) "5"
查看一个区间(范围)的数据个数
127.0.0.1:6379> ZCOUNT jishu 1 3
(integer) 3
好了,有关于Redis zset(有序集合)的解释就到这里了,谢谢大家