SCAN 命令用于迭代当前数据库中的数据库键。

SSCAN 命令用于迭代集合键中的元素。

HSCAN 命令用于迭代哈希键中的键值对。

ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。

SCAN、SSCAN、HSCAN、ZSCAN每次执行都只会返回少量元素,所以这些命令可以用于生产环境,而不会出现像KEYS、SMEMBERS命令带来的问题,当KEYS命令被用于处理一个大的数据库时,又或者SMEMBERS命令被用于处理一个大的集合键时,它们可能会阻塞服务器达数秒之久。

SCAN cursor [MATCH pattern] [COUNT count]

SSCAN、HSCAN、ZSCAN的第一个参数总是一个数据库键;而SCAN命令则不需要在第一个参数提供任何数据库键,因为它迭代的是当前数据库中的所有数据库键。

可以通过增量式迭代命令提供的 COUNT 选项来指定每次迭代返回元素的最大值;COUNT参数的默认值为10。

scan 0

sadd myset 1 2 3 foo foobar feelsgood

sscan myset 0 match f*

SCAN命令是一个基于游标的迭代器,每次被调用之后,都会向用户返回一个新的游标,用户在下次迭代时需要使用这个新游标作为SCAN 命令的游标参数,以此来延续之前的迭代过程。

当SCAN命令的游标参数设置为0时,服务器将开始一次新的迭代,而当服务器向用户返回值为0的游标时,表示迭代已结束。

如果一个元素是在迭代过程中被添加到数据集的,又或者是在迭代过程中从数据集中被删除的,那么这个元素可能会被返回,也可能不会。

在同一时间,可以有任意多个客户端对同一数据集进行迭代,客户端每次执行迭代都需要传入一个游标,并在迭代执行之后获得一个新的游标,而这个游标就包含了迭代的所有状态,因此,服务器无须为迭代记录任何状态。

因为迭代的所有状态都保存在游标里面,而服务器无须为迭代保存任何状态,所以客户端可以在中途停止一个迭代,而无须对服务器进行任何通知。即使有任意数量的迭代在中途停止,也不会产生任何问题。

hscan扫描mysql代码_redis 迭代命令SCAN、SSCAN、HSCAN、ZSCAN相关推荐

  1. jenkins创建任务运行windows命令扫描C#代码

    背景: jenkins搭建在linux上,windows本地执行配置了sonarqube,msbuild,SonarScanner.MSBuild三条命令,可以实现预处理,扫描C#代码,上传报告至so ...

  2. ITERATE MYSQL 例子_介绍MySQL的Iterate迭代语句实例代码

    在学习MySQL的时候,我们需要知道些什么,要注意哪些问题,下面我们来介绍 MySQL 的 Iterate 迭代语句.mysql> mysql> mysql> DELIMITER / ...

  3. ITERATE MYSQL 例子_介绍 MySQL 的 Iterate 迭代语句实例代码

    在学习MySQL的时候,我们需要知道些什么,要注意哪些问题,下面我们来介绍 MySQL 的 Iterate 迭代语句.mysql> mysql> mysql> DELIMITER / ...

  4. MySql常用函数及命令

    1 添加mysql\bin 到path 2 启动cmd 登陆 :mysql -hlocalhost -uroot -pxxxx 3退出 exit 在mysql>提示符下命令   show dat ...

  5. linux 链接数据库mysql数据库文件_linux 命令行 链接mysql数据库

    MySQL命令行导出数据库 MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\My ...

  6. mysql check table_修复MySQL的MyISAM表命令check table用法

    MyISAM如果损坏了修复方法是比较简单了我们只要使用check table命令就可以了,下面我们来看一篇关于修复MySQL的MyISAM表命令check table用法,具体如下所示. MySQL日 ...

  7. mysql 代码结构_MySQL代码执行结构

    MySQL代码执行结构 代码执行结构 在 MySQL 编程中,代码的执行结构有三种,分别为: 顺序结构: 分支结构: 循环结构. 顺序结构,自不必多说,在本文中,我们着重了解分支结构和循环结构. 分支 ...

  8. Sonar扫描python代码

    本文介绍使用sonar扫描本地Python项目的代码,生成报告. sonar新建项目 新建项目,填写项目名称和key,这个后续会用到.  生成token 下载 Scanner 点进链接,下载scann ...

  9. mysql中rm+-f_Mysql命令大全

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你 ...

  10. Mysql语法大全(命令行)(简洁、明了、全面)

    Mysql命令行的语法 另外一个Mysql语法大全的版本:点这里 两个Mysql语法大全以及命令行代码!!!基本上学习Mysql没有问题 嘿嘿!学习是一个长期的过程!!!还会继续更新!!! 基本的My ...

最新文章

  1. 2021年中国工业互联网安全大赛核能行业赛道writeup之传统流量取证
  2. 2021年春季学期-信号与系统-第四次作业参考答案-第三小题
  3. HBase之HFile解析
  4. 为什么要那么大的房子和那么大的储存空间呢?
  5. ORA-01843:无效的月份
  6. vue cli vue 3.x
  7. c语言编程流水灯与交通灯实验,C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟.doc...
  8. python测验3_基于Python3的漏洞检测工具
  9. python程序设计方法学_python学习笔记(12)--程序设计方法学
  10. 日常笔记(持续更新)
  11. commandname
  12. XTU OJ String game
  13. python docx 表格复制粘贴_python Word 表格转 Excel
  14. 看看别人是如何进行大数据测试的?
  15. 三重积分的概念,计算(先一后二(投影穿线法))
  16. 亲民地理35期-雨中登泰山
  17. 基于Html5的兼容所有主流浏览器的在线视频播放器videoJs
  18. Riedel 水晶杯:葡萄酒终极发烧设备
  19. .NET Quartz介绍
  20. PPT 优质模板(所有的风格不low)

热门文章

  1. 在Idea中拉取svn分支
  2. xp查看计算机mac地址查询,如何查看mac地址 xp系统查看查询mac地址方法介绍
  3. 使用for循环打印出大写字母的ASCII码对照表(c语言实现)
  4. LTE下行物理层传输机制(6)-下行资源分配方式(Resource Allocation Type)
  5. IT营大地老师2017最新node.js视频教程avi版本(课件+源码+视频)
  6. npy文件过大 如何处理
  7. 西门子plc烧录单片机_用51单片机做简易PLC
  8. Hadoop组件搭建-Hadoop全分布式
  9. linux svn切换分支,玩转SVN-分支
  10. android nv21 nv12,android - 将NV21转换为NV12并旋转90度通过libyuv? - 堆栈内存溢出