1. order set有序集合类型的操作(有序集合)

有序集合是在无序集合的基础上加了一个排序的依据,这个排序依据叫score,因此声明一个集合为有序集合的时候要加上score(作为排序的依据)

1.1. zadd key [NX|XX] [CH] [INCR] score member [score member ...]

语法:zadd key [NX|XX] [CH] [INCR] score member [score member ...]

作用:添加元素

例:

127.0.0.1:6379> zadd age 21 lily 22 tom 19 poly 15 wang

(integer) 4

1.2. zrange key start stop [WITHSCORES]

语法:zrange key start stop [WITHSCORES]

作用:把集合排序后(默认是升序排列),返回排序名次[start,stop]的元素(排序名次从0开始)

Withscores 是把score也打印出来

注:zrange key 0 -1   #返回所有排序的元素,默认升序

例:

127.0.0.1:6379> zadd age 21 lily 22 tom 19 poly 15 wang

(integer) 4

127.0.0.1:6379> zrange age 0 2

1) "wang"

2) "poly"

3) "lily"

127.0.0.1:6379> zrange age 0 -1   #查询所有的元素,默认升序

1) "wang"

2) "poly"

3) "lily"

4) "tom"

127.0.0.1:6379> zrange age 0 2 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

127.0.0.1:6379> zrange age 0 -1 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

7) "tom"

8) "22"

1.3. zrevrange key start stop [WITHSCORES]

语法:zrevrange key start stop [WITHSCORES]

作用:把集合降序排列,取排序名次[start,stop]之间的元素

例:

127.0.0.1:6379> zadd age 20 li 22 wu 25 wang 30 zhao

(integer) 4

127.0.0.1:6379> zrevrange age 0 -1 withscores

1) "zhao"

2) "30"

3) "wang"

4) "25"

5) "wu"

6) "22"

7) "li"

8) "20"

127.0.0.1:6379> zrevrange age 1 2 withscores

1) "wang"

2) "25"

3) "wu"

4) "22"

1.4. zrangebyscore key min max [WITHSCORES] [LIMIT offset count]

语法:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]

作用:集合(升序)排序后,取score在[min,max]内的元素,并跳过offset个,取出count个

例:

127.0.0.1:6379> zrangebyscore age 14 20

1) "wang"

2) "poly"

127.0.0.1:6379> zrangebyscore age 14 20

1) "wang"

2) "poly"

127.0.0.1:6379> zrangebyscore age 14 20 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

127.0.0.1:6379> zrangebyscore age 14 20 withscores limit 1 2

1) "poly"

2) "19"

127.0.0.1:6379> zrangebyscore age 14 22 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

7) "tom"

8) "22"

127.0.0.1:6379> zrangebyscore age 14 22 withscores limit 1 2

1) "poly"

2) "19"

3) "lily"

4) "21"

1.5. zrank key member

语法:zrank key member

作用:查询member的排名(升序,从 0名开始)

返回值:存在返回member的排名(升序,从0开始);不存在返回nil

例:

127.0.0.1:6379> zrange age 0 -1 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

7) "tom"

8) "22"

127.0.0.1:6379> zrank age poly

(integer) 1

127.0.0.1:6379> zrank age wang

(integer) 0

127.0.0.1:6379> zrank age tom

(integer) 3

127.0.0.1:6379> zrank age haha

(nil)

1.6. zrevrank key member

语法:zrevrank key member

作用:查询member的排名(降序,从0名开始)

返回值:存在返回member的排名(降序,从0开始);不存在返回nil

例:

127.0.0.1:6379> zrevrank age wang

(integer) 3

127.0.0.1:6379> zrevrank age poly

(integer) 2

127.0.0.1:6379> zrevrank age tom

(integer) 0

1.7. zrem key member [member ...]

语法:zrem key member [member ...]

作用:删除集合中的元素member [member ...]

返回值:返回真正删除掉的元素的个数

例:

127.0.0.1:6379> zrange age 0 -1 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

7) "tom"

8) "22"

127.0.0.1:6379> zrem age wang

(integer) 1

127.0.0.1:6379> zrange age 0 -1 withscores

1) "poly"

2) "19"

3) "lily"

4) "21"

5) "tom"

6) "22"

127.0.0.1:6379> zrem age poly lily haha

(integer) 2

127.0.0.1:6379> zrange age 0 -1 withscores

1) "tom"

2) "22"

1.8. zremrangebyscore key min max

语法:zremrangebyscore key min max

作用:按照score来删除元素,删除score在[min,max]之间的元素

返回值:返回真正删除元素的个数

例:

127.0.0.1:6379> zrange age 0 -1 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

7) "tom"

8) "22"

127.0.0.1:6379> zremrangebyscore age 15 20

(integer) 2

127.0.0.1:6379> zrange age 0 -1 withscores

1) "lily"

2) "21"

3) "tom"

4) "22"

1.9. zremrangebyrank key start stop

语法:zremrangebyrank key start stop

作用:按排名删除元素,删除名次在[start,end]之间的元素(默认升序)

返回值:返回真正删除元素的个数

例:

127.0.0.1:6379> zrange age 0 -1 withscores

1) "wang"

2) "15"

3) "poly"

4) "19"

5) "lily"

6) "21"

7) "tom"

8) "22"

127.0.0.1:6379> zremrangebyrank age 0 1

(integer) 2

127.0.0.1:6379> zrange age 0 -1 withscores

1) "lily"

2) "21"

3) "tom"

4) "22"

1.10. zcard key

语法:zcard key

作用:返回集合中所有元素的个数

例:

127.0.0.1:6379> zadd age 20 li 22 wu 25 wang 30 zhao

(integer) 4

127.0.0.1:6379> zcard age

(integer) 4

redis:order set有序集合类型的操作(有序集合)的更多相关文章

  1. redis:set集合类型的操作(无序集合)

    1. set集合类型的操作(无序集合) 集合具有无序性(没有顺序).确定性(描述是确定的).唯一性(没有重复的元素) 1.1. sadd key member [member ...] 语法:sadd ...

  2. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  3. Redis的数据类型以及各类型的操作

    讲完安装和配置,接下来就是所有数据库的重头戏,数据结构和常用操作的增删改查了 redis是key-value的数据结构,每条数据都是⼀个键值对 键的类型是字符串 注意:键不能重复 值的类型分为五种: ...

  4. redis数据类型:sorted sets类型及操作

    sorted sets类型及操作: sorted set是set的一个升级版本,它是在set的基础上增加了一个顺序 属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会 自动重新按新的值 ...

  5. c#重点[集合类型]异常,数组,集合ArrayList,List<>,hashTable,hashtable泛型(Dictionary)

    1.foreach[对一些数组或集合进行遍历] foreach(类型 变量名 in 集合对象){语句体} //定义一个数组 ,,,,, }; foreach(var i in sNum1) { Con ...

  6. [Swift]遍历集合类型(数组、集合和字典)

    Swift提供了三种主要的集合类型,称为数组,集合和字典,用于存储值集合. 数组是有序的值集合. 集是唯一值的无序集合. 字典是键值关联的无序集合. Swift中无法再使用传统形式的for循环. // ...

  7. Python(Redis 中 String/List/Hash 类型数据操作)

    1.下载 redis 模块 pip install redis 2.redis 数据库两种连接方式 简单连接 decode_responses=True,写入和读取的键值对中的 value 为 str ...

  8. json 当集合类型的字符串变成集合时候 里面有map类型的转换操作

  9. Scala中集合类型与java中集合类型转换

    对于java中的集合元素并不能在scala中拿来就用的,需要进行相应的转换. 1. 转换规则如下 从下面可以看出,有些可以相互转换的,有些只能单向转换: scala.collection.Iterab ...

随机推荐

  1. 【第一部分】09Leetcode刷题

    一.位1的个数 题目:191. Number of 1 Bits C++ Soution 1: class Solution { public: int hammingWeight(uint32_t ...

  2. 配置frp

    一.下载 下载地址:https://github.com/fatedier/frp/releases 下载linux_amd64的,如果是32位系统就下载linux_386 二.安装 有公网IP的服务 ...

  3. javascript OOP实例—探测器

    <script> /*所有探测器都有探测的方法和分析的方法,分析当前的浏览器环境,不管是浏览器还是nodejs*/ /*container容器探测器*/ /*link链接探测器*/ /*外 ...

  4. python全栈开发day101-认证组件、权限组件、频率组件

    1.Mixins类分析 这两个函数都在GenericAPIView下,这就是为什么必须搭配继承GenericAPIView的原因. 这两个主要是get_object()较为复杂. 2.认证组件源码分析 ...

  5. python全栈开发day86-CRM增删改查 分页

    知识点梳理: 1.分页器保存搜索条件 2.ORM批量插入数据bulk_create 批量创建model实例,在用bulk_create 一次插入数据库 3.自定义不同表的不同字段ModelForm错误 ...

  6. python全栈开发day81--jsonp

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Python学习(二十二)—— 前端基础之BOM和DOM

    转载自http://www.cnblogs.com/liwenzhou/p/8011504.html 一.前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没 ...

  8. jenkins使用教程之系统设置

    如果jenkins环境还没有搭建好的话可以看这篇文章点击查看 进入jenkins首页,点击系统管理 点击系统设置,进入系统设置界面 1.主目录,点击高级 主目录是存放Jenkins所有的文件的,工作空 ...

  9. 067 HA与updateStateByKey结合

    是HA与updateStateByKey相结合的程序. 有点问题,有点奇怪,重启项目后运行没有问题,但是第三次启动的时候,就不会在打印数据了,有点问题. 1.程序 package com.stream ...

  10. Oracle中start with...connect by子句的用法

    http://www.blogjava.net/xzclog/archive/2010/03/05/314642.html