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

有序集合Zset的操作:

zadd:向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新其顺序。(用法:zadd 有序集合 顺序编号 元素值)

127.0.0.1:6379> zadd zset1 1 two

(integer) 1

127.0.0.1:6379> zadd zset1 2 one

(integer) 1

127.0.0.1:6379> zadd zset1 3 seven

(integer) 1

127.0.0.1:6379> zrange zset1 0 -1

1) "two"

2) "one"

3) "seven"

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "one"

4) "2"

5) "seven"

6) "2"

zrem:删除名称为key的zset中的元素。(用法:zrem 有序集合 要删除的元素值)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "one"

4) "2"

5) "seven"

6) "2"

127.0.0.1:6379> zrem zset1 one

(integer) 1

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "seven"

4) "2"

zincrby:如果在名称为key的zset中已经存在元素member,则该元素的score增加increment,否则向该集合中添加该元素,其score的值为increment.即对元素的顺序号进行增加或减少操作。(用法:zincrby 有序集合 increment 指定的元素值)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "seven"

4) "2"

127.0.0.1:6379> zincrby zset1 5 seven

"7"

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "seven"

4) "7"

zrank:返回名称为key的member元素的排名(按score从小到大排序)即下标。(用法:zrank 有序集合 指定的元素值),返回值为指定的元素值的索引下标号。

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "seven"

4) "7"

127.0.0.1:6379> zrank zset1 seven

(integer) 1

zrevrank:返回名称为key的member元素的排名(按score从大到小排序)即下标。(用法:zrank 有序集合 指定的元素值)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "seven"

4) "7"

127.0.0.1:6379> zrevrank zset1 seven

(integer) 0

zrange:显示集合中指定下标的元素值(按score从小到大排序)。如果需要显示元素的顺序编号,带上withscores。(用法:zrange 有序集合 下标索引1 下标索引2 withscores)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "five"

4) "2"

5) "one"

6) "3"

7) "seven"

8) "7"

zrevrange:显示集合中指定下标的元素值(按score从大到小排序)。如果需要显示元素的顺序编号,带上withscores。(用法:zrevrange 有序集合 下标索引1 下标索引2 withscores)

127.0.0.1:6379> zrevrange zset1 0 -1 withscores

1) "seven"

2) "7"

3) "one"

4) "3"

5) "five"

6) "2"

7) "two"

8) "1"

zrangebyscore:显示指定范围顺序编号的元素(按score从小到大排序)。(用法:zrangebyscore 有序集合 顺序编号1 顺序编号2 withscores)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "five"

4) "2"

5) "one"

6) "3"

7) "seven"

8) "7"

127.0.0.1:6379> zrangebyscore zset1 2 7 withscores

1) "five"

2) "2"

3) "one"

4) "3"

5) "seven"

6) "7"

zcount: 返回集合中score在给定区间的数量。(用法:zcount 有序集合 顺序编号1 顺序编号2)

127.0.0.1:6379> zcount zset1 2 7

(integer) 3

zcard:返回集合中元素个数。(用法:zcard 有序集合)

127.0.0.1:6379> zrange zset1 0 -1

1) "two"

2) "five"

3) "one"

4) "seven"

127.0.0.1:6379> zcard zset1

(integer) 4

zremrangebyrank:删除集合中排名在给定区间的元素。(按索引下标删除)(用法:zremrangebyrank 有序集合 索引编号1 索引编号2)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "five"

4) "2"

5) "one"

6) "3"

7) "seven"

8) "7"

127.0.0.1:6379> zremrangebyrank zset1 3 3

(integer) 1

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "five"

4) "2"

5) "one"

6) "3"

zremrangebyscore:删除集合中score在给定区间的元素(按顺序score值来删除)。(用法:zremrangebyscore 有序集合 顺序编号1 顺序编号2)

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "five"

4) "2"

5) "one"

6) "3"

7) "seven"

8) "7"

127.0.0.1:6379> zremrangebyscore zset1 5 7

(integer) 1

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "two"

2) "1"

3) "five"

4) "2"

5) "one"

6) "3"

Redis ZSet类型简介相关推荐

  1. Redis源码-ZSet:Redis ZSet存储原理、Redis ZSet命令、 Redis ZSet两种存储底层编码ziplist/dict+skiplist、Redis ZSet应用场景

    Redis源码-ZSet:Redis ZSet存储原理.Redis ZSet命令. Redis ZSet两种存储底层编码ziplist/dict+skiplist.Redis ZSet应用场景 Red ...

  2. Redis初学:9(Zset类型)

    Zset(有序集合)类型 简介 Redis里面的有序集合Zset和集合Set非常相似,都是一个没有重复元素的字符串集合. 不同之处是有序集合Zset里面的每个成员都关联了一个评分(score),这个s ...

  3. Redis的list,set,zset类型应用及排行榜的实现

    Redis数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)等 List类型 简介 ​ Lis ...

  4. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数

    1.Redis和nosql简介,api调用 14.1/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点: 1.  不支持SQL语法 2.  存储结构跟传统关系型数 ...

  5. Redis中对ZSet类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  6. redis zset怎么排序_redis(set、zset)类型使用和使用场景

    Redis的数据类型 Redis的数据类型共有五种:string,list,hash,set,zset: String 字符串相对来说做平常,key-value,类似是hashmap的用法: List ...

  7. 【Redis之ZSet类型的详解ZSet类型中常用命令的实践】

    Redis之ZSet类型的详解&ZSet类型中常用命令的实践 知识回顾: 通过对Redis中的String的命令做了充分的讲解以及实践学习 通过对Redis中String类型之Bit命令的详解 ...

  8. zset获取指定score_7、Redis中对ZSet类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  9. 宝塔面板Redis数据管理工具hash和zset类型报错的解决方法

    问题描述         在宝塔面板的Redis数据管理工具中,查询其他数据都没问题,但是查询hash和zset类型的数据时页面上会出现一个黑框,并且右侧没有出现数据.         (写文章的时候 ...

最新文章

  1. AdminStudio 9.x优惠升级到AdminStudio 11.0的机会只剩三周
  2. torch-toolbox
  3. linux进程的环境变量,LINUX系统学习一(进程、MMU,环境变量、getenv、fork、getpid/ge...
  4. 最大似然估计【MLE】与最大后验概率【MAP】
  5. 用python实现yale人脸数据集降维_用Python实现磁盘IO操作全攻略,让数据流动起来!...
  6. 在百度搜索引擎做网络推广怎么做,竞价推广成本和效果怎样?
  7. VI SNMPRRDTool
  8. OpenKM文档管理系统开源源码v6.3.9
  9. 数据库 casewhen 的用法
  10. 附件文件超过了服务器的大小,Exchange 2010修改附件大小限制
  11. 网络安全——lcx的使用
  12. win10下移动pagefiles.sys文件到D盘
  13. 微信公众号 scanQRCode:fail, the permission value is offline verifying
  14. 知识图谱构建——Jena推理(三)
  15. iOS平台游戏安全再议之存档修改与防御
  16. 蓝牙耳机哪个品牌最好?2023最新学生平价蓝牙耳机推荐
  17. python两点之间最短距离_寻找两点之间的最短距离Python
  18. 线段树模板(建树+更新)
  19. 几何画板怎么画圆锥曲线,原来这么简单
  20. 最新Maven(apache-maven-3.8.6)在Win10安装部署(超详细)

热门文章

  1. 手机端访客审核的方案
  2. linux下oracle查看表结构,Oracle 查看表结构的方法
  3. 季羡林:不完美才是人生
  4. 一些提高Android开发效率的工具方法
  5. kafka经典教程-转载
  6. 网络安全设备配置练习题1
  7. mysql简单防注入_mysql防止sql注入的方法
  8. [230]连接Redis后执行命令错误 MISCONF Redis is configured to save RDB snapshots
  9. java微信--企业付款到银行卡
  10. C#编写的一款读取xml文件的mapping图软件。 可以自由定位位置,统计数量,蛇形走位