zset类型以及其操作
sorted set类型
sorted sets类型以及其操作
zset是set的一格升级版本,它在set的基础上增加了一格顺序属性,这一属性在添加元素的同时可以指定,每次指定后,zset会自动重新按照新的值调整顺序。可以理解为有两列的mysql表,一列存储value,一列存储顺序。操作中key理解成zset的名字。
zadd
向名称为key的zset中添加元素member,score用于排序,如果该元素存在,则更新其顺序
127.0.0.1:> zadd key [NX|XX] [CH] [INCR] score member [score member ...]
127.0.0.1:> zadd zset one
(integer)
127.0.0.1:> zadd zset - two
(integer)
zrange
遍历集合的元素
127.0.0.1:6379> zrange key start stop [WITHSCORES] //withscores代表的是否显示顺序号 start和stop代表所在的位置的索引。可以这样理解:将集合元素依照顺序值升序排序再输出,start和stop限制遍历的限制范围
127.0.0.1:> zadd zset - hhh
(integer)
127.0.0.1:> zrange zset
) "hhh"。
127.0.0.1:> zrange zset - withscore
) "two"
) "-1"
) "one"
) ""
zset元素也是不重复的,不要将它理解成为map了,score只是附加的,并不是array中的Index,而是代表该元素的顺序号
同一个顺序可以有多个元素:
127.0.0.1:6379> zrange zset 0 -1 withscores
1) "one"
2) "0"
3) "two"
4) "0"
zrem
删除集合中的member元素
127.0.0.1:> zrange zset - withscores
) "one"
) ""
) "two"
) ""
) "three"
) ""
127.0.0.1:> zrem zset one
(integer)
127.0.0.1:> zrange zset -
) "two"
) "three"
zincrby
如果在名称为key的zset中已经存在元素member,则该元素的score增加incremenr否则向该集合中添加该元素,其score的值为increment
127.0.0.1:> zincrby key increment member
127.0.0.1:> zincrby zset two
""
127.0.0.1:> zincrby zset four
""
127.0.0.1:> zrange zset - withscores
) "four"
) ""
) "three"
) ""
) "two"
) ""
127.0.0.1:>
127.0.0.1:> zincrby zset - two
""
zrank
返回名称为key的zset中member元素的排名(类似索引从0开始)(按score从小到大排序)即下标
127.0.0.1:> zrank key member
127.0.0.1:> zrange zset - withscores
) "two"
) ""
) "four"
) ""
) "three"
) ""
127.0.0.1:> zrank zset two
(integer)
127.0.0.1:> zrank zset four
(integer)
127.0.0.1:> zrank zset three
(integer)
注意得到的是排名而不是顺序值score
zrevrank
rev:代表翻转
返回名称为key的zset中member元素的排名(按score从大到小排序),即下标
127.0.0.1:> zrange zset - withscores
) "hhh"
) "-1"
) "hi"
) ""
) "two"
) ""
) "four"
) ""
) "three"
) ""
127.0.0.1:> zrank zset hhh
(integer)
127.0.0.1:> zrevrank zset hhh
(integer)
zrevrange
按照顺序值降序排序然后显示指定下标内的值
127.0.0.1:> zrevrange key start stop [WITHSCORES]
127.0.0.1:> zrevrange zset - withscores
) "three"
) ""
) "four"
) ""
) "two"
) ""
) "hi"
) ""
) "hhh"
) "-1"
127.0.0.1:> zrange zset - withscores
) "hhh"
) "-1"
) "hi"
) ""
) "two"
) ""
) "four"
) ""
) "three"
) ""
zrangebyscore
就是利用score升序排序,而是返回集合中score给定区间内的元素。范围内的元素一句score升序排序。start和stop代表的不再是index而是score
127.0.0.1:> zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
127.0.0.1:> zrange zset - withscores
) "hhh"
) "-1"
) "hi"
) ""
) "two"
) ""
) "four"
) ""
) "three"
) ""
127.0.0.1:> zrangebyscore zset - withscores
) "hhh"
) "-1"
) "hi"
) ""
) "two"
) ""
zcount
返回集合中score指定区间中元素的数量
127.0.0.1:> zcount key min max
127.0.0.1:> zcount zset -
(integer)
zcard
返回集合中的集合元素
127.0.0.1:> zcard zset
(integer)
zremrangebyrank
删除集合中排名在指定区间内的元素,排名意思是index,排序值是score
127.0.0.1:> zremrangebyrank key start stop
127.0.0.1:> zrange zset - withscores
) "hhh"
) "-1"
) "hi"
) ""
) "two"
) ""
) "four"
) ""
) "three"
) ""
127.0.0.1:> zremrangebyrank zset
(integer)
127.0.0.1:> zrange zset - withscores
) "four"
) ""
) "three"
) ""
remrangebyscore
删除集合中排序值在指定区间的元素
127.0.0.1:> zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
127.0.0.1:> zrange zset - withscores
) "four"
) ""
) "three"
) ""
127.0.0.1:> zremrangebyscore zset
(integer)
127.0.0.1:> zremrangebyscore zset
(integer)
127.0.0.1:> zrange zset - withscores
(empty list or set)
zset类型以及其操作的更多相关文章
- zset类型数据的操作指令
1. 也可以追加数据 2. 3. 4. 5. 6. 7. 8. 9.
- 7、Redis中对ZSet类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ---------- ...
- RedisTemplate中zset类型的使用
简述 上一文中简述了使用StringRedisTemplate操作redis中的set类型,今天来记录一下操作zset类型的主要方法 代码 @RunWith(SpringRunner.class) @ ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- Redis自学笔记–Zset类型及管理简述
Zset类型 ...
- 对控制器类型“StudentController”的操作“Edit”的当前请求在下列操作方法之间不明确:
"/"应用程序中的服务器错误. 对控制器类型"StudentController"的操作"Edit"的当前请求在下列操作方法之间不明确:类型 ...
- Python(Redis 中 Set/Zset 类型数据和其他操作)
1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...
- Redis学习第六课:Redis ZSet类型及操作
Sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列字段的数据表,一列 ...
- Redis学习篇(六)之ZSet类型及其操作
ZADD 作用: 将元素及其分数添加到集合中 语法: ZADD key score membre [score member] 当集合元素已经存在时,再次添加会更新其分数 当score是 +inf 时 ...
随机推荐
- ServletContext获取多个servlet公共参数
web.xml: <context-param> <param-name>context-param</param-name> <param-value> ...
- 优化netbeans启动速度
NetBeans优化的目的是提高NetBeans的启动速度和运行速度.下面介绍的NetBeans优化技巧是在版本6.0beta2上的优化.经过实验,大大提高了NetBeans的启动速度. 1,修改英文 ...
- Java哲学家进餐
某次操作系统实验存档. 这个哲学家除了吃就是睡.. 哲学家.java: package operating.entity.philosophyeating; import operating.meth ...
- IDEA 安装插件报错 Plugin Lombok Plugin was not installed: Cannot download
报错 解决 成功下载插件 3
- [pixhawk笔记]8-半物理仿真环境
通过半物理仿真,可以在不试飞的情况下对飞控的软硬件进行部分验证,下面结合文档对半物理仿真环境的搭建和运行进行学习.先跑起来再说. Pixhawk支持多轴和固定翼的仿真,多轴用jMavSim,固定翼用X ...
- pxe无人值守自动安装
rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmyum listyum upda ...
- 20135320赵瀚青LINUX第六周学习笔记
赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 概述 这周主要讲解的是进程. ...
- tomcat监控,自动重启shell脚本
tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...
- 如何实现Punycode中文域名转码
如果你见过中文域名应该会觉得很奇怪,为什么复制出来的域名变成一个很莫名其妙的字符串,比如这个秀恩爱的域名“郝越.我爱你”,实际显示的域名是 http://xn--vq3al9d.xn--6qq986b ...
- 使用IP spoofer 功能
有个问题请教:使用IP spoofer 功能后,很多vuser都会挂掉,这个怎么解决呢? LR