redis 数据类型--sorted set(有序集合)

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double(双精度浮点型)类型的分数,redis正是通过该分数来为集合中的成员进行从小到大的排序,有序集合的成员是唯一的,但分数(score)却可以重复,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1), 集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。

生成有序集合

127.0.0.1:6379> ZADD zset1 1 v1 
(integer) 1 


127.0.0.1:6379> ZADD zset1 2 v2 
(integer) 1 


127.0.0.1:6379> ZADD zset1 2 v3 
(integer) 1 


127.0.0.1:6379> ZADD zset1 3 v4 
(integer) 1 


127.0.0.1:6379> TYPE zset1 
zset 


127.0.0.1:6379> TYPE zset2 
zset 




一次生成多个数据: 
192.168.7.101:6379> ZADD zset2 1 v1 	2 v2 3 v3 4 v4 5 v5 
(integer) 5 

集合排行案例

192.168.7.104:6379> ZADD paihangbang 90 nezha 199 zhanlang 60 zhuluoji 30 gangtiexia 
(integer) 4 
 


192.168.7.101:6379> 
1) "gangtiexia" 
2) "zhuluoji" 
3) "nezha" 
4) "zhanlang" 
 


ZRANGE paihangbang 
 

0 -1 #显示集合内所有的key 
 

192.168.7.104:6379> ZREVRANGE paihangbang 0 -1 withscores #显示指定集合内所有key和得分情况 
1) "zhuluoji" 
2) "60" 
3) "nezha" 
4) "90" 
5) "zhanlang" 
6) "199" 

获取集合的长度数

127.0.0.1:6379> ZCARD zset1 
(integer) 4 


127.0.0.1:6379> ZCARD zset2 
(integer) 4

基于索引返回数值

127.0.0.1:6379> ZRANGE zset1 1 3 
1) "v2" 2) "v3" 3) "v4" 


127.0.0.1:6379> ZRANGE zset1 0 2 
1) "v1" 2) "v2" 3) "v3" 


127.0.0.1:6379> ZRANGE zset1 2 2 
1) "v3" 

返回某个数值的索引

127.0.0.1:6379> ZRANK zset1 v2 
(integer) 1 


127.0.0.1:6379> ZRANK zset1 v3 
(integer) 2 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rio520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值