1.zadd

向名称为 key 的 zset 中添加元素 member, score 用于排序。如果该元素已经存在,则根据
score 更新该元素的顺序
redis 127.0.0.1:6379> zadd myzset 1 "one"
(integer) 1
redis 127.0.0.1:6379> zadd myzset 2 "two"
(integer) 1
redis 127.0.0.1:6379> zadd myzset 3 "two"
(integer) 0
redis 127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "3"
redis 127.0.0.1:6379>
本例中我们向 myzset 中添加了 one 和 two,并且 two 被设置了 2 次,那么将以最后一次的
设置为准,最后我们将所有元素都显示出来并显示出了元素的 score。

2.zrem

删除名称为 key 的 zset 中的元素 member
redis 127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "3"
redis 127.0.0.1:6379> zrem myzset two
(integer) 1
redis 127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
redis 127.0.0.1:6379>
可以看到 two 被删除了

3.zincrby

如果在名称为 key 的 zset 中已经存在元素 member,则该元素的 score 增加 increment;否则
向集合中添加该元素,其 score 的值为 increment
redis 127.0.0.1:6379> zadd myzset2 1 "one"
(integer) 1
redis 127.0.0.1:6379> zadd myzset2 2 "two"
(integer) 1
redis 127.0.0.1:6379> zincrby myzset2 2 "one"
"3"
redis 127.0.0.1:6379> zrange myzset2 0 -1 withscores
1) "two"
2) "2"
3) "one"
4) "3"
redis 127.0.0.1:6379>
本例中将 one 的 score 从 1 增加了 2,增加到了 3

4.zrevrank
返回名称为 key 的 zset 中 member 元素的排名(按 score 从大到小排序)即下标
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "five"
8) "5"
redis 127.0.0.1:6379> zrevrank myzset3 two
(integer) 2
redis 127.0.0.1:6379>
按从大到小排序的话 two 是第三个元素,下标是 2

5.zrevrange
返回名称为 key 的 zset( 按 score 从大到小排序)中的 index 从 start 到 end 的所有元素
redis 127.0.0.1:6379> zrevrange myzset3 0 -1 withscores
1) "five"
2) "5"
3) "three"
4) "3"
5) "two"
6) "2"
7) "one"
8) "1"
redis 127.0.0.1:6379>
首先按 score 从大到小排序,再取出全部元素

6.zrangebyscore
返回集合中 score 在给定区间的元素
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "five"
8) "5"
redis 127.0.0.1:6379> zrangebyscore myzset3 2 3 withscores
1) "two"
2) "2"
3) "three"
4) "3"
redis 127.0.0.1:6379>
本例中,返回了 score 在 2~3 区间的元素

7.zcount
返回集合中 score 在给定区间的数量
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "five"
8) "5"
redis 127.0.0.1:6379> zcount myzset3 2 3
(integer) 2
redis 127.0.0.1:6379>
本例中,计算了 score 在 2~3 之间的元素数目

8.zcard
返回集合中元素个数
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "five"
8) "5"
redis 127.0.0.1:6379> zcard myzset3
(integer) 4
redis 127.0.0.1:6379>
从本例看出 myzset3 这个集全的元素数量是 4

9.zscore
返回给定元素对应的 score
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "five"
8) "5"
redis 127.0.0.1:6379> zscore myzset3 two
"2"
redis 127.0.0.1:6379>
此例中我们成功的将 two 的 score 取出来了。

10.zremrangebyrank
删除集合中排名在给定区间的元素
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "five"
8) "5"
redis 127.0.0.1:6379> zremrangebyrank myzset3 3 3
(integer) 1
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
redis 127.0.0.1:6379>
在本例中我们将 myzset3 中按从小到大排序结果的下标为 3 的元素删除了。

11.zremrangebyscore
删除集合中 score 在给定区间的元素
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
redis 127.0.0.1:6379> zremrangebyscore myzset3 1 2
(integer) 2
redis 127.0.0.1:6379> zrange myzset3 0 -1 withscores
1) "three"
2) "3"
redis 127.0.0.1:6379>
在本例中我们将 myzset3 中按从小到大排序结果的 score 在 1~2 之间的元素删除了。

redis之 zadd、zremrangebyscore、zremrangebyrank、zscore、zcard、zcount、zrangebyscore、zinczrevrankzrevrange相关推荐

  1. python 交互redis 的ZADD方法异常: AttributeError: ‘int‘ object has no attribute ‘items‘

    2019.8.15更新 代理池异常的原因,是因为在db.py中zadd方法没有修改完全. def max(self, proxy):"""将代理设置为MAX_SCORE: ...

  2. redis的zadd命令

    Redis Zadd 命令 Redis 有序集合(sorted set) Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中. 如果某个成员已经是有序集的成员,那么更新这个成 ...

  3. golang kv存储引擎

    GitHub - k-si/CaskDB: K-V database based on Bitcask, but has some magic changes 跪求star OTZ Bitcask模型 ...

  4. python redis_Python操作Redis大全

    命令太多记不住可以参考Redis中文网,强烈建议收藏 一.字符串 strings Python操作Redis的redis模块对字符串(string)的主要操作函数包括:SET.GET.GETSET.S ...

  5. redis 自减命令_Redis 实战 —— 04. Redis 数据结构常用命令简介

    字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值 ...

  6. redis常用命令getex_Redis常用命令详细介绍(摘抄)

    一.字符串 字符串键是Redis最基本的键值对类型,将一个单独的键和一个单独的值关联起来.通过字符串键,不仅可以存储和读取字符串,如果输入能被解释为整数和浮点数,还能执行自增或自减操作. 1.SET: ...

  7. Redis学习手册(Sorted-Sets数据类型)

    一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score ...

  8. redis系列:通过文章点赞排名案例学习sortedset命令

    前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/ ...

  9. Redis 命令参考

    Redis 命令参考 本文档是 Redis Command Reference 和 Redis Documentation 的中文翻译版, 阅读这个文档可以帮助你了解 Redis 命令的具体使用方法, ...

最新文章

  1. DataTables 表格固定栏使用方法
  2. 安卓开发重磅炸弹!程序员福利!《高级Kotlin强化实战学习手册(附Demo)》开放下载!
  3. 嵌入式笔录(2)-电阻串联与并联
  4. Angular InjectionToken的一个具体使用例子
  5. RTX5 | 配置文件RTX_Config.h(二)
  6. 93没有了_93平旧两居大变身,二手房这样装修10万块搞定
  7. 关于redis的持久化
  8. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
  9. 用Mask-RCNN训练自定义大小的数据集
  10. C#关键字扫盲——Tuple(元组类) 、ValueTuple(值元组)
  11. 刘强东震怒:疑不满内部拉帮结派人浮于事!
  12. 山西省吕梁市职称计算机考试,山西吕梁考点2012年职称计算机考试时间通知
  13. 火狐浏览器怎么支持html5,支持HTML5/CSS技术火狐浏览器8
  14. WPS2000的目录提取(转)
  15. 台式计算机负荷,简单计算台式电脑功率
  16. [转]常用网络协议分析工具
  17. HTTP状态500-内部服务器错误
  18. 源码分析 merge 标签减少布局层级的秘密(Android Q)
  19. 超级简单的3D slicer使用教程(一)
  20. 虚拟主服务器是什么原因,什么是虚拟主机?

热门文章

  1. DNS域名解析服务(正向解析,反向解析,主从解析)
  2. response.setHeader各种用法 .
  3. Oracle打开虚拟机闪退,虚拟机上启动Oracle服务为什么自动停止,怎么处理?
  4. 杉德支付php代码实现_php实现小程序支付完整版
  5. js新建list_制作一个基于node的todo-list工具,并发布至npm
  6. 在php中页面布局 3列左右侧固定中间自适应居中,css三列布局--两边固定中间自适应和中间固定两边自适应...
  7. Linux vms windows,Windows、Windows NT、DOS、VMS、Linux都是微机上用的操作系统。
  8. 我的世界连锁挖矿下载JAVA_我的世界1.7.10连锁挖矿整合包
  9. java怎么读取文件夹下的_java怎么读取读取文件夹下的所有文件夹和文件?
  10. python3.7官网中文官网_Python官网宣布,正式发布Python 3.7.0!