Redis sorted set(有序集合)
Redis 有序集合是string类型元素的集合,元素不允许重复。
有序集合中的每个元素都会关联一个数值型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的(不可重复),但分数(score)可以重复。
1、zadd key score1 value1 score2 value2 ..... //往有序集合中添加一个或多个元素。score是数值型,支持整数、浮点数,支持负数。z代表sorted set。
示例: zadd students zhangsan lisi wangwu //返回此次添加的元素个数。score只是附加信息,真正的元素还是value1,value2,......
说明:hash、list、set、sorted set,在Reids2.4之前的版本中,1次只支持添加一个元素,不支持1次添加多个元素。
2、zcard key //返回元素个数
3、zcount key minScore maxScore //返回分数值在[minScore,maxScore]上的元素个数
4、zlexcount key minValue maxValue //返回元素值在[minValue,maxValue]上的元素个数。
不能直接用元素值,有3种写法:
- [value 表示包含此元素
- (value 表示不包含此元素
- -表示第一个元素(包含),+表示最后一个元素(包含)
示例:
zadd set1 a b c d
zlexcount set1 - + //返回总元素个数,4
zlexcount set1 [a [b //2 。即[a,b]上元素个数
zlexcount set1 (a [b //1。(a,b]
不能缺省 [ 或 (
5、zrange key minIndex maxIndex [withscores] //返回索引在[minIndex,maxIndex]上的所有元素。
索引从0开始,支持负数,-1表示倒数第一个元素,-2表示倒数第二个元素。
withscores是可选参数,带上则还会显示分数,不带则只显示元素值。
6、zrangebyscore key minScore maxScore [withscores]
返回score在[minScore,maxScore]上的所有元素值。
默认使用[ ,闭区间。也可以显示指定为 [ 或 ( 。
withscores可选,带上时会显示元素的score,不带上时不显示score。
示例: zrangebyscore set1 [ ( //获取score在[1,2)上的所有元素
7、zrank key elementValue //返回该元素值的索引。默认按score进行升序排列。索引从0开始。
以上3个命令都是按score升序排列的。下面的3个命令:
- zrevrange
- zrevrangebyscore
- zrevrank
前缀加不是z,而是zrev。和之前的3个命令一一对应,用法完全相同,只不过是按score降序排列计算的。
8、zscore key elementValue //返回该元素值对应的score值
9、zincrby key increment elementValue //increment是增量,将指定元素的score增加increment。increment支持负数,即减。
10、zrem key value1 value2 ..... //移除一个或多个元素
11、zremrangebyrank key startIndex endIndex //移除下标在[startIndex,endIndex]上的所有元素。zremrangebyrank即z remove range by rank
12、zremrangebyscore key minScore maxScore //移除score在[minScore,maxScore]上的所有元素
13、zremrangebylex key value1 value2 //移除这2个元素值之间的所有元素。
不能直接写元素值,可以用- +表示,或者在元素值前面加[ (
14、zscan key cursor [match pattern] [count num] //迭代
sorted set也提供了计算交集、并集的命令,此处不再一一介绍。
Redis sorted set(有序集合)的更多相关文章
- Redis之Sorted Set 有序集合
Redis Sorted Set 有序集合 Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分 ...
- Redis的Sorted Set有序集合命令
Sorted Set是Set的一个升级版本,它在Set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列的mysql表, ...
- 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表
python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...
- Redis 源码简洁剖析 04 - Sorted Set 有序集合
Sorted Set 是什么 Sorted Set 命令及实现方法 Sorted Set 数据结构 跳表(skiplist) 跳表节点的结构定义 跳表的定义 跳表节点查询 层数设置 跳表插入节点 zs ...
- (PHP)redis Zset(有序集合 sorted set)操作
/** * * Zset操作 * sorted set操作 * 有序集合 * sorted set 它在set的基础上增加了一个顺序属性,这一属性在修改添加元素的时候可以指定,每次指定后,zset会自 ...
- 9、Redis五大数据类型---有序集合Zset(sorted set)
一.简介 zset与set异同 相同之处: 都是没有重复元素的字符串集合 不同之处: 有序集合zset的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排 ...
- redis:php-redis中有序集合 zset的使用
ZSET(stored set) 和 set 一样是字符串的集合,不同的是每个元素都会关联一个 double 类型的 score .实现使用的是 skip list 和 hash table , sk ...
- redis 系列14 有序集合对象
一. 有序集合概述 Redis 有序集合对象和集合对象一样也是string类型元素的集合,且不允许重复的成员.不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员 ...
- Redis学习---Redis操作之有序集合
有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序. zadd(name, *args, **kw ...
- redis列表和有序集合
redis中的list数据类型是可以插入重复数据的,有去重的需求的话可以用redis有序集合数据类型 Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中. 如果某个成员已经是 ...
随机推荐
- ACM学习历程——POJ3321 Apple Tree(搜索,线段树)
Description There is an apple tree outside of kaka's house. Every autumn, a lot of apples will ...
- CentOS下安装配置Samba服务器
0 环境介绍 VMWARE12下安装的CENTOS7虚拟机.宿主机为WIN7. 1 离线安装 费了九牛二虎之力,下载各种依赖,还是有问题,转向在线安装. 2 在线安装 虚拟机采用默认的配置: 其次,网 ...
- Oracle查看表空间和表空间中的对象
select * from user_tables;--查询所有用户表 select username,default_tablespace from user_users;--查询当前表空间sele ...
- Excel添加水印
Excel添加水印[源码下载] 步骤一:根据生成图片的类创建水印图片 步骤二: 代码在Excel中根据第一行获取sheet的列数[sheet.getRow(0).getLastCellNum() ], ...
- PCL中异常处理机制
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=287 本节我们主要讨论PCL在编写和应用过程中如何利用PCL的异常机制,提高 ...
- WPF PasswordBox鼠标进入时程序异常退出的解决办法
最近在开发了一个程序中用到了PasswordBox控件,但是在程序给别人用的时候,鼠标一进入控件时程序就异常退出,查了下windows日志,错误显示如下: 应用程序: WpfPasswordTest2 ...
- 利用mysql客户端查询UCSC数据库
UCSC Genome Browser是由University of California Santa Cruz (UCSC) 创立和维护的,该站点包含有人类.小鼠和大鼠等多个物种的基因组草图和注释信 ...
- gSoap使用入门(2)----自定义接口头文件
摘自:http://blog.csdn.net/zhuzhihai1988/article/details/8131556 接口头文件的格式在向导中没有看到明确的说明性的内容,但通过看开发包中示例程序 ...
- POJ 2976 Dropping tests (二分+贪心)
题意:给定 n 个分数,然后让你去年 m 个分数,使得把剩下的所有的分子和分母都相加的分数最大. 析:这个题并不是分子越大最后结果就越大,也不是整个分数越大,最后结果就越大的,我们可以反过来理解,要去 ...
- VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解:
VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解: 首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备 ...