当前位置: 首页 > news >正文

德阳网站制作想接网站自己做

德阳网站制作,想接网站自己做,个人网站网站建设,做进行网站推广赚钱目录 SCAN 介绍 SCAN 命令基本用法 MATCH 选项用法 COUNT 选项用法 TYPE 选项用法 补充 并发执行多个迭代 中途停止迭代 使用错误的游标进行增量式迭代 迭代终结的保证 SCAN 介绍 SCAN cursor [MATCH pattern] [COUNT count][TYPE type]#xff1a;SCAN 命令及其相…目录 SCAN 介绍 SCAN 命令基本用法 MATCH 选项用法 COUNT 选项用法 TYPE 选项用法 补充 并发执行多个迭代 中途停止迭代 使用错误的游标进行增量式迭代 迭代终结的保证 SCAN 介绍 SCAN cursor [MATCH pattern] [COUNT count][TYPE type]SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代incrementally iterate一集元素a collection of elements MATCH选项可以通过提供一个 glob 风格的模式参数 让命令只返回和给定模式相匹配的元素COUNT选项增量式迭代命令不保证每次迭代所返回的元素数量 但我们可以使用 COUNT 选项 对命令的行为进行一定程度上的调整返回最大数量TYPE选项迭代列出指定的数据类型的元素 增量式迭代命令 SCAN 命令用于迭代当前数据库中的数据库键。SSCAN 命令用于迭代集合键中的元素。HSCAN 命令用于迭代哈希键中的键值对。ZSCAN 命令用于迭代有序集合中的元素包括元素成员和元素分值 以上命令每次执行均返回少量元素而不像keys或smembers命令被用于处理大量数据是极有可能导致阻塞服务器。 SCAN 命令基本用法 SCAN 0SCAN 命令是一个基于游标的迭代器 SCAN 命令每次被调用之后 都会向用户返回一个新的游标 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数 以此来延续之前的迭代过程 当 SCAN 命令的游标参数被设置为 0 时 服务器将开始一次新的迭代 而当服务器向用户返回值为 0 的游标时 表示迭代已结束 127.0.0.1:6379 mset a 1 b 1 c 1 d 1 e 1 f 1 g 1 h 1 i 1 j 1 k 1 l 1 m 1 n 1 o 1 p 1 q 1 r 1 s 1 t 1 u 1 v 1 w 1 x 1 y 1 z 1 # 初始化键值对 OK 127.0.0.1:6379 scan 0 1) 1 # 返回下次换代的新游标 2) 1) b2) t3) m4) q5) e6) u7) g8) w9) h10) s 127.0.0.1:6379 scan 1 1) 27 # 返回下次换代的新游标 2) 1) z2) c4) l5) y6) d7) a8) i9) k10) o 127.0.0.1:6379 scan 27 1) 0 # 返回0表示迭代结束 2) 1) v3) x4) j5) p6) f7) n8) r 在上面这个例子中 第一次迭代使用 0 作为游标 表示开始一次新的迭代第二次迭代使用的是第一次迭代时返回的游标 也即是命令回复第一个元素的值 1第三次迭代使用的是第一次迭代时返回的游标 也即是命令回复第一个元素的值 27第三次迭代返回第一个元素为0 表示迭代已结束。 返回 反复执行scan命令同一个元素可能会被返回多次返回的元素个数最多可能会返回数十个元素返回两个元素的数组第一个数组元素是用于进行下一次迭代的新游标第二个是数组是包含了所有被迭代的元素返回0表示迭代已经结束 整个数据集已经被完整遍历过了从上操作可知迭代命令并不保证每次执行都返回某个给定数量的元素 甚至可能会返回零个元素 但只要命令返回的游标不是 0  应用程序就不应该将迭代视作结束 MATCH 选项用法 SCAN cursor MATCH pattern通过提供一个 glob 风格的模式参数 让命令只返回和给定模式相匹配的元素 这一点可以通过在执行增量式迭代命令时 通过给定 MATCH pattern 参数来实现。 127.0.0.1:6379 mset a00 1 a001 1 a002 1 a003 1 a014 1 a015 1 a016 1 OK 127.0.0.1:6379 keys * 1) a001 2) a01 3) a003 4) a014 5) a016 6) a015 7) a002 8) a00 127.0.0.1:6379 scan 0 match *01 # 匹配01结尾的key 1) 0 2) 1) a0012) a01 127.0.0.1:6379 scan 0 match a01* # 匹配a01开头的key 1) 0 2) 1) a0162) a0153) a014) a014 说明 命令第一步是先执行 scan cursor取出元素列表命令第二步才执行match操作所以返回值第二个数组有可能是空的 COUNT 选项用法 SCAN cursor COUNT count增量式迭代命令不保证每次迭代所返回的元素数量 但我们可以使用 COUNT 选项 对命令的行为进行一定程度上的调整 不使用count的情况下COUNT 参数的默认值为 10该选项告知迭代命令 在这次迭代中应该从数据集里返回多少元素 127.0.0.1:6379 mset a0111 1 a0121 1 a0031 1 a0041 1 a0051 1 a0061 1 a0071 1 a0081 1 a0011 1 a0101 1 a0111 1 a0121 1 a0131 1 OK 127.0.0.1:6379 mset a001 1 a002 1 a003 1 a004 1 a005 1 a006 1 a007 1 a008 1 a001 1 a010 1 a011 1 a012 1 a013 1 OK 127.0.0.1:6379 scan 0 count 5 1) 4 2) 1) a0052) a00413) a01214) a00315) a004 在迭代一个足够大的集合键时 如果用户没有使用 MATCH 选项 那么命令返回的元素数量通常和 COUNT 选项指定的一样 或者比 COUNT 选项指定的数量稍多一些 127.0.0.1:6379 scan 0 count 5 1) 6 2) 1) a22 # count 5 返回了5个2) a0163) a254) a265) a015 127.0.0.1:6379 scan 0 count 8 1) 9 2) 1) a22 # count 8 返回了10个2) a0163) a254) a265) a0156) a217) a0018) a019) a00310) a014 在迭代一个编码为整数集合intset一个只由整数值构成的小集合、 或者编码为压缩列表ziplist由不同值构成的一个小哈希或者一个小有序集合时 增量式迭代命令通常会无视 COUNT 选项指定的值 127.0.0.1:6379 flushdb OK 127.0.0.1:6379 mset a001 1 a002 1 a003 1 a004 1 a005 1 a006 1 a007 1 a008 1 a001 1 a010 1 a011 1 a012 1 a013 1 127.0.0.1:6379 mset a0111 1 a0121 1 a0031 1 a0041 1 a0051 1 a0061 1 a0071 1 a0081 1 a0011 1 a0101 1 a0111 1 a0121 1 a0131 1127.0.0.1:6379 scan 0 count 8 1) 2 2) 1) a005 # 无似count 8限制返回了10个2) a00413) a01214) a00315) a0046) a0137) a00118) a00819) a01210) a0061 TYPE 选项用法 SCAN cursor TYPE typetype选择保证每次迭代输出均为指定的数据类型 127.0.0.1:6379 get a005 1 127.0.0.1:6379 type a005 string 127.0.0.1:6379 scan 0 type string 1) 2 2) 1) a0052) a00413) a01214) a00315) a0046) a0137) a0128) a00819) a001110) a0061 127.0.0.1:6379 scan 2 type string 1) 9 2) 1) a01012) a0103) a0084) a0075) a01116) a0067) a00718) a0019) a003 补充 并发执行多个迭代 在同一时间 可以有任意多个客户端对同一数据集进行迭代 客户端每次执行迭代都需要传入一个游标 并在迭代执行之后获得一个新的游标 而这个游标就包含了迭代的所有状态 因此 服务器无须为迭代记录任何状态。 中途停止迭代 因为迭代的所有状态都保存在游标里面 而服务器无须为迭代保存任何状态 所以客户端可以在中途停止一个迭代 而无须对服务器进行任何通知。 即使有任意数量的迭代在中途停止 也不会产生任何问题。 使用错误的游标进行增量式迭代 使用间断的broken、负数、超出范围或者其他非正常的游标来执行增量式迭代并不会造成服务器崩溃 但可能会让命令产生未定义的行为。 未定义行为指的是 增量式命令对返回值所做的保证可能会不再为真。 只有两种游标是合法的 在开始一个新的迭代时 游标必须为 0 增量式迭代命令在执行之后返回的 用于延续continue迭代过程的游标 迭代终结的保证 增量式迭代命令所使用的算法只保证在数据集的大小有界bounded的情况下 迭代才会停止 换句话说 如果被迭代数据集的大小不断地增长的话 增量式迭代命令可能永远也无法完成一次完整迭代。 从直觉上可以看出 当一个数据集不断地变大时 想要访问这个数据集中的所有元素就需要做越来越多的工作 能否结束一个迭代取决于用户执行迭代的速度是否比数据集增长的速度更快。 时间复杂度增量式迭代命令每次执行的复杂度为 O(1) 对数据集进行一次完整迭代的复杂度为 O(N) 其中 N 为数据集中的元素数量。 返回值 SCAN 命令、 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都返回一个包含两个元素的回复 回复的第一个元素是字符串表示的无符号 64 位整数游标 回复的第二个元素是包含了本次被迭代的元素SCAN 命令返回的每个元素都是一个数据库键SSCAN 命令返回的每个元素都是一个集合成员HSCAN 命令返回的每个元素都是一个键值对一个键值对由一个键和一个值组成ZSCAN 命令返回的每个元素都是一个有序集合元素一个有序集合元素由一个成员member和一个分值score组成
http://www.w-s-a.com/news/996164/

相关文章:

  • 福田欧曼服务站网站前台设计
  • 网站做系统叫什么软件吗注册域名需要实名认证吗
  • jsp网站开发教学视频ui设计风格
  • 注册网站建设开发怎么自己做导航网站
  • 设计做网站品牌咖啡主题网页界面设计
  • 个人网站制作总体设计宿迁房价2023年最新房价
  • 服装网站建设进度及实施过程马鞍山网站设计制作
  • 郑州网站优化顾问济宁网站制作
  • 网站开发简单吗网站引导页分为三个板块设计风格
  • 湖南做网站 在线磐石网络百度一下百度搜索
  • 现在建网站多少钱推广营销费
  • 联想企业网站建设的思路西安网站建设阳建
  • 网站内容 内链网站建设电话销售工作总结
  • 系统网站开发知名的摄影网站有哪些
  • 网站拍照的幕布扬中网站建设价位
  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站
  • 曲沃网站建设网上学编程的有哪些比较好的网站
  • 厦门网站建设慕枫学做网站需要多久
  • 爱奇艺做任务领vip网站设计广告图片
  • 中科汇联网站建设手册上海公司名称注册查询网
  • 网站建设电子商务课总结和体会关于做网站书籍
  • 仪征网站建设公司哪家好简单网页制作素材图片
  • 甘肃第九建设集团公司网站潍坊个人做网站
  • 如何做后台网站的教程网站建设 关于我们