1.存储sortedset

Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出 现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分 数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然 而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score) 却是可以重复的。

在Sorted-Set中添加、删除或更新一个成员都是非常快速的操作,其时间复杂度为 集合中成员数量的对数。由于Sorted-Sets中的成员在集合中的位置是有序的,因此, 即便是访问位于集合中部的成员也仍然是非常高效的。事实上,Redis所具有的这一 特征在很多其它类型的数据库中是很难实现的,换句话说,在该点上要想达到和Redis 同样的高效,在其它数据库中进行建模是非常困难的。

例如:游戏排名、微博热点话题等使用场景。

1 )zadd key score member score2 member2 ...:将所有成员以及该成员的分数存储到sorted--set中
2)zcard key:获取集合中的成员数量
获得元素
3.zscore key member:返回指定成员的分数
4)zcard key:获取集合中的成员数量
删除元素
5)zrem key member[member...]:移除集合中指定的成员,可以指定多个成员
范围查询
6)zrange key start end [withscores]:获取集合中脚标为start-end的成员,[withscores]参数表明返回的成员包含及其分数
7)zrevrange   key start stop[withscores]:照元素分数从大到小的从顺序返回索引  从start到stop之间的所有元素(包含两端的元素)
8)zremrange key start stop:按照排名范围删除元素

9)zremrangebyscore key min max:按照分数范围删除元素

扩展,limit
1)zrangebyscore key min max[withscores] [limit offset count]:返回分数在【min,max】的成员并按照分数从高到低排序,[withscores]:显示分数;[limit offset count]:offset,表明从脚标为offset的元素开始并返回count个成员
2)zincrby key increment member:设置指定成员的增加的分数,返回值是更改后的分数
3)zcount key min max:获取分数在[min,max]之间的成员
4)zrank key member:返回成员在集合的排名.(从小到大)
5)zrevrank key member:返回成员在集合中的排名:(从大到小)

转载于:https://www.cnblogs.com/MAPO/p/8478464.html

Redis数据结构04-SortedSet相关推荐

  1. 峰Redis学习(6)Redis 数据结构(sorted-set的操作)

    第六节:Redis 数据结构之sorted-set 类型 存储Sorted-Set Sorted-Set和Set的区别 Sorted-Set中的成员在集合中的位置是有序的 存储Sorted-set常用 ...

  2. redis 自减命令_Redis 实战 —— 04. Redis 数据结构常用命令简介

    字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值 ...

  3. 在列表前方插入一个数据_通俗易懂的Redis数据结构基础教程

    Redis有5个基本数据结构,string.list.hash.set和zset.它们是日常开发中使用频率非常高应用最为广泛的数据结构,把这5个数据结构都吃透了,你就掌握了Redis应用知识的一半了. ...

  4. 5.Redis数据结构介绍

    文章目录 Redis数据结构介绍 String类型 1. String的常见命令 2. 思考 3. 应用 Hash类型 1. Hash类型常用命令 3. 应用 List类型 1. List类型的常用命 ...

  5. Redis 数据结构-字典源码分析

    2019独角兽企业重金招聘Python工程师标准>>> 相关文章 Redis 初探-安装与使用 Redis 数据结构-字符串源码分析 本文将从以下几个方面介绍 前言 字典结构图 字典 ...

  6. 为了拿捏 Redis 数据结构,我画了 40 张图

    Redis 为什么那么快? 除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis 能高效的处理. 因此,这次我们就来好 ...

  7. 【带你重拾Redis】Redis数据结构及使用场景

    Redis数据结构 Redis有着非常丰富的数据结构,这些数据结构可以满足非常多的应用场景, 如果对这些数据结构有一个比较清晰的认知,使用Redis也会更加得心应手. Redis主要支持以下数据结构: ...

  8. 深入剖析Redis系列(七) - Redis数据结构之列表

    前言 列表(list)类型是用来存储多个 有序 的 字符串.在 Redis 中,可以对列表的 两端 进行 插入(push)和 弹出(pop)操作,还可以获取 指定范围 的 元素列表.获取 指定索引下标 ...

  9. redis数据结构详解之Hash(四)

    原文:redis数据结构详解之Hash(四) 序言 Hash数据结构累似c#中的dictionary,大家对数组应该比较了解,数组是通过索引快速定位到指定元素的,无论是访问数组的第一个元素还是最后一个 ...

  10. zincrby redis python_【Redis数据结构 序】使用redispy操作Redis数据库

    点击蓝色"不太灵光的程序员"关注我哟加个"星标",每天上午 08:00,干货推送!本文依旧会对学习内容进行拆分,建议阅读时间基本保持10分钟内,想学习之前章节内 ...

最新文章

  1. 如何利用高斯混合模型建立更好、更精确的集群?
  2. android radiooptions简介
  3. java序列化异常_Java|序列化异常StreamCorruptedException的解决方法
  4. Robot Framework操作mongodb数据库
  5. com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
  6. Linux 命令之 cd 命令-切换目录
  7. Mysql的undo、redo、bin log分析
  8. guido python正式发布年份_Python语言适合哪些领域的计算问题? (1.3分)_学小易找答案...
  9. 用python解决生活问题_Python解决生活问题之闹钟程序的实现
  10. HTML页面加载完毕后,再运行JS业务
  11. java数字时钟代码,[Java教程]Javascript 数字时钟
  12. 使用XStream对Java对象进行序列化和反序列化
  13. 怎么查看当前登录的svn账号_在linux下查看svn对应的账号和密码
  14. (原创)一步一步学ZedBoard Zynq(一):ZedBoard的第一个工程Helloworld
  15. burst什么意思_burst是什么意思
  16. Kotlin back field
  17. 【Scala】9、Trait、Match、CaseClass和偏函数
  18. IP-Guard十六个模块功能详解
  19. 河北计算机软件职业技术学院,河北软件职业技术学院2021年排名
  20. 多媒体个人计算机能处理什么,多媒体信息处理

热门文章

  1. 实现视图示例_AngularJS控制器,范围和视图教程示例
  2. C++ 11使用thread类多线程编程
  3. 如何一边训练一遍验证
  4. 运行Eclipse出错:Failed to load the JNI shared library
  5. delphi ini文件的基础读写。
  6. Python3基础——字典、其他常用操作
  7. [SpringMVC]SpringMVC学习笔记一: springmvc原理及实例解析.
  8. FTP+SSL(加密的ftp)
  9. xp的guest访问
  10. 【重点:DP 双指针 栈】LeetCode 42. Trapping Rain Water