有序集合类型

zset (sorted set )

redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。

不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中 的成员进行从小到大的排序。

有序集合类型 zset (sorted set )——基本命令

zadd 语法:zadd key score member [score member…] 作用:将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member存在集合中, 则更新值;score 可以是整数或浮点数 返回值:数字,新添加的元素个数

zadd

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

ZADD 参数(options) (>= Redis 3.0.2)

ZADD 命令在key后面分数/成员(score/member)对前面支持一些参数,他们是:

XX: 仅仅更新存在的成员,不添加新成员。

NX: 不更新存在的成员。只添加新成员。

CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意 思)。

更改的元素是新添加的成员,已经存在的成员更新分数。 所以在命令中指定的成员有相同的分 数将不被计算在内。

注:在通常情况下,ZADD返回值只计算新添加成员的数量。

INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。

zincrby

语法:ZINCRBY key increment member

作用:对有序集合中指定成员的分数加上增量 increment

可以通过传递一个负数值 increment ,让分数减去相应的值,比如 ZINCRBY key -5 member ,就是让 member 的 score 值减去 5 。

当 key 不存在,或分数不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。

分数值可以是整数值或双精度浮点数。

zrange

语法:zrange key start stop [WITHSCORES]

作用:查询有序集合,指定区间的内的元素。集合成员按 score 值从小到大来排序。

start,stop 都是 从 0 开始。0 是第一个元素,1 是第二个元素,依次类推。

以 -1 表示最后一个成员,-2 表示倒数第二 个成员。WITHSCORES 选项让 score 和 value 一同返回。

返回值:自定区间的成员集合

zrevrange

语法:zrevrange key start stop [WITHSCORES]

作用:返回有序集 key 中,指定区间内的成员。

其中成员的位置按 score 值递减(从大到小)来排列。 其它同 zrange 命令。

返回值:自定区间的成员集合

zrem

语法:zrem key member [member…]

作用:删除有序集合 key 中的一个或多个成员,不存在的成员被忽略

返回值:被成功删除的成员数量,不包括被忽略的成员。

zcard

语法:zcard key

作用:获取有序集 key 的元素成员的个数

返回值:key 存在返回集合元素的个数, key 不存在,返回 0

zrangebyscore

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

作用:获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成员,有序 成员是按递增(从小到大)排序。

min ,max 是包括在内 , 使用符号 ( 表示不包括。

min , max 可以使用 -inf ,+inf 表示 最小和最大 limit 用来限制返回结果的数量和区间。

withscores 显示 score 和 value

返回值:指定区间的集合数据

zrevrangebyscore

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

作用:返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成 员。

有序集成员按 score 值递减(从大到小)的次序排列。其他同 zrangebyscore

zcount

语法:zcount key min max

作用:返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max ) 的成员的数量

有序集合类型

zset(sorted set )

1)基本命令: zadd/ zrange/ zrevrange/zrem/zcard

2)常用命令: zrangebyscore/zrevrangebyscore/zcount

Redis--zset类型操作命令的更多相关文章

  1. Redis学习第六课:Redis ZSet类型及操作

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

  2. C# 通过ServiceStack 操作Redis——ZSet类型的使用及示例

    Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列 /// <summary> /// Sorted Sets是将 ...

  3. 7、Redis中对ZSet类型的操作命令

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

  4. Redis自学笔记–Zset类型及管理简述

    Zset类型                                                                                               ...

  5. Redis基础类型常用操作命令

    Redis基础类型常用操作命令 概念:Redis是用C语言开发的一个开源的高性能键值对数据库. 特征: 数据间没有必然的联系 内部采用单线程机制进行工作 高性能 多数据类型支持 字符串类型 Strin ...

  6. 【Redis】Redis的常规操作命令

    NoSQL是一种非关系型数据库,非关系型数据库库和传统的关系型数据库不同,非关系性体现在不需要依赖表进行数据存储.常见的非关系型数据库有Redis.MonoDB.HBase等,这些是基于key-val ...

  7. Redis对象类型

    Redis对象类型 Redis基于基础的数据结构创建的对象: 字符串对象. 列表对象. 哈希对象. 集合对象 有序集合对象. 对象回收:Redis对象系统实现了基于引用计数技术的内存回收机制,当程序不 ...

  8. 一文了解:Redis基础类型

    Redis基础类型 Redis特点 开源的,BSD许可高级的key-value存储系统 可以用来存储字符串,哈希结构,链表,集合 安装 windows:https://github.com/micro ...

  9. 分享一个Python脚本--统计redis key类型数据大小分布

    概述 今天主要介绍怎么统计redis key类型数据大小分布. 原理:使用redis命令: scan.pipline.type 和 debug object 来得到 redis key 信息. 脚本 ...

  10. RedisTemplate中zset类型的使用

    简述 上一文中简述了使用StringRedisTemplate操作redis中的set类型,今天来记录一下操作zset类型的主要方法 代码 @RunWith(SpringRunner.class) @ ...

随机推荐

  1. java使用递归遍历文件,使用内部类过滤文件,使用匿名内部类过滤文件

    public class TestFile { public static void main(String [] args) { //遍历文件夹中文件名称,若文件夹中还存有文件夹,递归读取文件夹名称 ...

  2. Java中对象并不是都在堆上分配内存的

    转(https://blog.51cto.com/13906751/2153924) 前段时间,给星球的球友们专门码了一篇文章<深入分析Java的编译原理>,其中深入的介绍了Java中的j ...

  3. Oracle语法 及 SQL题目(三)

    目录 SQL题目六 第一个问题思路(查询酒类商品的总点击量) 第二个问题思路(查询每个类别所属商品的总点击量,并按降序排列) 第三个问题思路(查询所有类别中最热门的品种(点击量最高),并按点击量降顺序 ...

  4. 做动画animation--matplotlib--python2和3通用代码

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/weixin_42053726/artic ...

  5. 启用Win10的Linux子系统

    今天为大家介绍如何才能启用Windows10下的Linux子系统,废话不多说,直接看步骤: 启用开发者模式打开设置 点击更新和安全 点击开发者选项 启用开发人员模式 更改系统功能使用win+X快捷键调 ...

  6. 修改layui的表单手机、邮箱验证可以为空怎么实现?

      修改layui的表单手机.邮箱验证可以为空   解决办法: 修改源码: 把表单验证源代码(form.js)的正则表达式改一下,例如手机的正则为:/^1d{10}$/,可以改成/^$|^1d{10} ...

  7. python 设计模式之工厂模式 Factory Pattern (简单工厂模式,工厂方法模式,抽象工厂模式)

    十一回了趟老家,十一前工作一大堆忙成了狗,十一回来后又积累了一大堆又 忙成了狗,今天刚好抽了一点空开始写工厂方法模式 我看了<Head First 设计模式>P109--P133 这25页 ...

  8. Mybatis Hibernate MiniDao 共存

    Mybatis MiniDao共存问题 - 国内版 Binghttps://cn.bing.com/search?q=Mybatis+MiniDao%E5%85%B1%E5%AD%98%E9%97%A ...

  9. shell按月循环取数

    这里有个需求,按月查询,并且要输出每月的开始日期,结束日期. shell脚本如下: #!/bin/sh echo "0个参数时, 按月执行,默认当前月份 " echo " ...

  10. PHP 二维数组去重(保留各个键值的同时去除重复的项)

    对于如下二维数组,要求对其进行去重: $arr = array( '=>array( 'name'=>'james', , ), '=>array( 'name'=>'susu ...