美文网首页
ZSCAN 有序集合迭代器

ZSCAN 有序集合迭代器

作者: 闲云野鹤_23dd | 来源:发表于2020-12-20 20:48 被阅读0次

ZSCAN

语法

ZSCAN zsetKey cursor [MATCH pattern] [COUNT count]

ZSCAN 是 SCAN命令相似,不过ZSCAN 命令用于迭代 有序集合(zset类型)中的元素

MATCH 子句

正则匹配有序集合中的key。

  • *代表任意字符,0到多个
  • ?代表一个任意字符

COUNT 子句

每次读取有序集合中 元素 的数量,如果数据集合较小,会不起作用,直接返回所有元素

  • COUNT 参数的默认值为 10 。

例子

准备zset类型 数据

127.0.0.1:6379[11]> ZRANGE z1 0 -1
1) "a"
2) "b"
3) "c"
127.0.0.1:6379[11]> ZADD z1 1 a1 2 b2 3 c3 4 a2 5 b2 6 c2 7 a3 8 b2 9 c3
(integer) 6
127.0.0.1:6379[11]> ZRANGE z1 0 -1 withscores
 1) "a1"
 2) "1"
 3) "a"
 4) "2"
 5) "b"
 6) "3"
 7) "a2"
 8) "4"
 9) "c"
10) "4"
11) "c2"
12) "6"
13) "a3"
14) "7"
15) "b2"
16) "8"
17) "c3"
18) "9"
127.0.0.1:6379[11]> 

ZSCAN 命令 演示

127.0.0.1:6379[11]> ZSCAN z1 0  ## 遍历 z1 的所有元素
1) "0"
2)  1) "a1"
    2) "1"
    3) "a"
    4) "2"
    5) "b"
    6) "3"
    7) "a2"
    8) "4"
    9) "c"
   10) "4"
   11) "c2"
   12) "6"
   13) "a3"
   14) "7"
   15) "b2"
   16) "8"
   17) "c3"
   18) "9"
127.0.0.1:6379[11]> ZSCAN z1 0 count 3 ## 遍历 z1 的所有元素,每次读取三个元素,由于z1数据量太小,所以不起作用
1) "0"
2)  1) "a1"
    2) "1"
    3) "a"
    4) "2"
    5) "b"
    6) "3"
    7) "a2"
    8) "4"
    9) "c"
   10) "4"
   11) "c2"
   12) "6"
   13) "a3"
   14) "7"
   15) "b2"
   16) "8"
   17) "c3"
   18) "9"
127.0.0.1:6379[11]> ZSCAN z1 0 match a*  ## 遍历 z1 以a开头的元素
1) "0"
2) 1) "a1"
   2) "1"
   3) "a"
   4) "2"
   5) "a2"
   6) "4"
   7) "a3"
   8) "7"
127.0.0.1:6379[11]> ZSCAN z1 0 match *1 ## 遍历 z1 以1结尾的元素
1) "0"
2) 1) "a1"
   2) "1"
127.0.0.1:6379[11]> ZSCAN z1 0 match *2 ## 遍历 z1 以2结尾的元素
1) "0"
2) 1) "a2"
   2) "4"
   3) "c2"
   4) "6"
   5) "b2"
   6) "8"
127.0.0.1:6379[11]> 

相关文章

  • ZSCAN 有序集合迭代器

    ZSCAN 语法 ZSCAN 是 SCAN命令相似,不过ZSCAN 命令用于迭代 有序集合(zset类型)中的元素...

  • ZSCAN

    ZSCAN 用于迭代有序集合中的元素(包括元素成员和元素分值) ZSCAN key cursor [MATCH p...

  • 【11】迭代器与生成器

    1.什么是迭代器(iter) 迭代器是python提供的容器型数据类型。 (可变,有序) 和字典、集合、元祖等...

  • 迭代器模式

    一. 什么是迭代器模式 迭代器模式: 用来遍历集合对象 (集合在这里也叫做容器) 迭代器模式, 将对集合的遍历操作...

  • 007-集合,list,set,map

    集合的概念 Collection集合 常用方法 迭代器 迭代器使用 迭代器的问题 泛型 代码演示: ArrayLi...

  • java学习笔记6

    迭代器的原理及源码解析 A:迭代器原理迭代器原理:迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所...

  • php设计模式——迭代器模式

    迭代器模式 说明 迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的...

  • Map----entrySet

    Map集合不需要迭代器; 他是先将Map集合转化为Set集合; 然后Set集合调用迭代器进行遍历。 Map.Ent...

  • 设计模式——迭代器模式

    什么是迭代器模式 用迭代器来封装集合对象的遍历细节,使调用者能够通过统一的接口来实现对集合的遍历。 迭代器也给集合...

  • 对比Vector、ArrayList、LinkedList的区别

    三者都实现了集合框架中的List,也就是所谓的有序集合,都提供按照位置进行定位、添加或者删除操作,都提供迭代器遍历...

网友评论

      本文标题:ZSCAN 有序集合迭代器

      本文链接:https://www.haomeiwen.com/subject/ajmuwktx.html