ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6 有序集合ZSet(Sorted Set)

2019-02-24 22:37:29  阅读:302  来源: 互联网

标签:Set ZSet lin 90 mysort Sorted integer hello


  • ZSet和Set的区别:

          ZSet中的每一个成员都会有一个分数与之关联,redis正是利用这个分数对成员进行由小到大的排序,尽管ZSet中的成员必须是唯一的,但是分数是可以重复的,所以在ZSet中添加、删除和            更新一个成员都是十分快速的。时间复杂度为集合中成员的个数的对数。由于ZSet中的成员在集合中的位置是有序的,因此即使是访问集合中部的成员也是非常高效的。

  • ZSet中的成员在集合中的位置是有序的

常用命令:

  • 添加元素
  • 删除元素
  • 获得元素
  • 范围查询
  • 扩展命令
>zadd mysort 70 xiao 80 lin 90 zi  //添加元素
(integer) 3
>zadd mysort 100 xiao   //添加已经存在的元素会添加不成功
(integer) 0

>zscore mysort xiao //获取元素分数
"100"

>zcard mysort //获取成员数量
(integer) 3

>zrem mysort zi xiao //删除元素
(integer) 2

>zadd mysort 85 hello 95 world
(integer) 2
>zrange mysort 0 -1 //范围查询
1) “hello”
2) “lin”
3) “world”

>zrange mysort 0 -1 withscores //带有分数的范围查询
1) “hello” 
2) “85”
3) “lin”
4) “90”
5) “world”
6) “95”

>zrevrange mysort 0 -1 withscores //从大到小范围查询
1) “world”
2) “95”
3) “lin”
4) “90”
5) “hello” 
6) “85”

> zrangebyscore mysort  0 90 withscores //获取分数范围内的值
1) “hello” 
2) “85”
3) “lin”
4) “90”

ZSet使用场景:

  • 大型在线游戏积分排行榜
  • 构建索引数据

标签:Set,ZSet,lin,90,mysort,Sorted,integer,hello
来源: https://www.cnblogs.com/xlzfdddd/p/10428426.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有