sorted sets类型及操作
sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。

和set一样sorted set也是string类型元素的集合,不同的是每个元素都会关联一个double类型的score。sorted set的实现是skip list和hash table的混合体。 当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1),另一个score到元素的映射被添加到skip list,并按照score排序,所以就可以有序的获取集合中的元素。添加,删除操作开销都是O(log(N))和skip list的开销一致,redis的skip list实现用的是双向链表,这样就可以逆序从尾部取元素。sorted set最经常的使用方式应该是作为索引来使用.我们可以把要排序的字段作为score存储,对象的id当元素存储。

zadd
向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score更新该元素的顺序
如:zadd myzset 1 "one";
zadd myzset 2 "two"

zrem
删除名称为key的zset中的元素member
如:zrem myzset two
zrange
查看指定下标范围的元素
如:zrange myzset 0 -1 withscores
zrevrange
返回名称为key的zset(按score从大到小排序)中的index从start到end的所有元素
如:zrerange myzset 0 -1 withscores
zrangebyscore
返回集合中score在给定区间的元素
如:zrangebyscore myzset3 2 3 withscores
zincrby
如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment
如:zincrby myzset2 2 "one"
zrank
返回名称为key的zset中member元素的排名(按score从小到大排序)即下标
如:zrank myzset3 two
zrevrank
返回名称为key的zset中member元素的排名(按score从大到小排序)即下标
zcount
返回集合中score在给定区间的数量
如:zcount myzset3 2 3
zcard
返回集合中元素个数
zscore
返回给定元素对应的score
如:zscore myzset3 two
zremrangebyrank
删除集合中排名在给定区间的元素
如:zremrangebyrank myzset3 3 3
zremrangebyscore
删除集合中score在给定区间的元素
如:zremrangebyscore myzset3 1 2

转载于:https://blog.51cto.com/881206524/2124311

redis之sorted sets类型及操作相关推荐

  1. 系统学习redis之五——redis数据类型之list类型及操作

    list数据类型介绍 list是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等,操作中key可以理解为链表的名字.redis的list类型其实就是一个每个子元素都是string类型 ...

  2. java使用redis incr,JFinal Redis plugin 有关数值类型incr操作的bug

    先上测试代码:public class TestCache { private static final Cache testCache = Redis.use(CacheCons.TEST) ; p ...

  3. Redis的sorted set类型

    Redis 有序集合命令 下表列出了 redis 有序集合的基本命令: 序号 命令及描述 1 ZADD key score1 member1 [score2 member2]  向有序集合添加一个或多 ...

  4. Redis sorted set 类型操作及常用命令

    七个原则 Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构.在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的 ...

  5. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)

    zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...

  6. 一:redis 的string类型 - 相关操作

    *redisclient使用: =============一类:string的方法================介绍:string是redis的最简单类型,一个key相应一个value,string ...

  7. (Redis_学习一)Redis关于string类型和hash类型数据操作

    Redis关于string类型和hash类型数据操作 set name xiaohongyang // get name setnx name xiaohy get name setex name 1 ...

  8. Redis命令详解:Sorted Sets

    Sorted Set(也称ZSET)和Set一样也是string类型的集合,你可以将它理解为Java中SortedSet和HashMap的集合体,一方面它是一个set,保证了元素的唯一性,另一方面它给 ...

  9. java hmget 最大值,【Redis】基本数据类型及命令操作(超详细)

    一.String 可以直接看每一大节的命令示例部分,敲一遍就大体会了 1.1 概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数 ...

最新文章

  1. php关机启动不了,win10关机关不掉怎么办
  2. 看完陈皓的116篇文章,我给自己定了个5年技术规划
  3. 复杂人机智能系统功能分配方法综述
  4. java笔记 -- java运算
  5. 缓存击穿问题解决思路
  6. 【Android 应用开发】Android - 按钮组件详解
  7. 电脑计算机无法找到脚本文件夹,win10系统开机出现无法找到脚本文件的设置办法...
  8. JavaWeb学习总结(十二)——Session
  9. javascript php 性能,JavaScript知识点总结之如何提高性能_javascript技巧
  10. Java并发编程 - Executor,Executors,ExecutorService, CompletionServie,Future,Callable
  11. 前端学习(750):作用域导读
  12. java 一些容易忽视的小点-控制语句
  13. Linux get cpu number,Linux上获取CPU Core个数的实现
  14. Spring5+CXF整合开发REST之一次坑旅
  15. Spring源码 (事务篇) - 整体流程
  16. matlab能不能求不定积分,matlab求不定积分定积分
  17. CTF基础-MISC篇
  18. Vmware中Linux 虚拟终端之间 无法切换 解决方法
  19. 【构建ML驱动的应用程序】第 5 章 :训练和评估模型
  20. android 地球坐标 火星坐标系,Android LBS地图开发:地球地理GPS坐标系经纬度偏移偏差...

热门文章

  1. uid(组件id) = userId + appId (android多用户)
  2. Vue 路由router的两种模式
  3. Luogu P3830 [SHOI2012]随机树 | 期望 DP
  4. GIMP永久保存选择的办法
  5. 《软件构架实践》阅读笔记03
  6. 钟国晨160809323 (作业9)
  7. C++ template 学习归纳2
  8. [转]C#多线程编程实例实战
  9. 一队老耗子,每个月都生一对小耗子,小耗子长3个月,第四个月开始变成老耗子开始生, // 假设所有耗子都不死,请问20个月之后共有多少只耗子?...
  10. 单例模式中的属性实现