Redis zset(有序集合)的解释

  • Post author:
  • Post category:其他


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



版权声明:本文为weixin_47556601原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。