大家好,今天我们分享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(有序集合)的解释就到这里了,谢谢大家



