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

Redis-渐进式遍历

之前使用的keys查找key,一次获取到了所有的key,当key较多时,这个操作就有可能造成Redis服务器阻塞.特别是keys *操作.

于是可以通过渐进式遍历,每次获取部分key,通过多次遍历,既查询到了所有的key,又不会卡死服务器. 渐进式遍历不是通过一个命令获取到所有元素的,而是由一组命令完成,这组命令的使用方法是一样的.

语法: scan  cousor [pattern pattern]  [count count]  [type type] 

返回值: 1)."cousor"

                2).元素列表

cousor: 光标位置,初始值为0,表示从头开始;返回值由两部分组成,第一部分的cousor代表下次开始查询的光标位置.

注: 这个返回的光标,仅能有Redis服务器知道这个光标对应的元素位置在哪里.不能理解成"下标",程序员或客户端是不认识的.

pattern:这个字段和keys中的匹配方式一样,给出指定的匹配方式;

count: 一次能够遍历到的元素个数,默认是10;

type: 指定key对应的val的类型,默认是所有类型,不区分类型。

注:渐进式遍历scan虽然解决了阻塞的问题,到那时如果在遍历期间键有所变化(对其执行增删改操作),可能会导致遍历的时候键的重复或遗漏,使用的时候需要注意这一点。

当前一共有12个key:

渐进式遍历,默认一次遍历10个元素:

第二次返回的cursor是7,7是一个光标,不能理解成下标.

指定count为3,一次遍历3个元素:

http://www.dtcms.com/a/264256.html

相关文章:

  • Java后端调用外部接口标准流程详解
  • python+uniapp基于微信小程序的PS社区系统
  • 使用D435i运行ORB-SLAM3时,纯视觉模式与视觉-惯性模式的位姿矩阵定义问题探讨
  • 基于SpringBoot + HTML 的网上书店系统
  • 转录组分析流程(六):列线图
  • Kafka 生产者和消费者高级用法
  • c++学习(八、函数指针和线程)
  • EasyExcel实现Excel复杂格式导出:合并单元格与样式设置实战
  • web开发,旅游景点管理系统推荐算法版本demo,基于asp.net,mvc,c#,sql server
  • 编写shell脚本扫描工具,扫描服务器开放了哪些端口(再尝试用python编写一个)
  • Set和Map的解析与应用场景
  • OSPF虚拟链路术语一览:快速掌握网络路由
  • 【字符串方法】split使用介绍
  • Android NDK探索之旅(一)
  • 中心效应:多中心临床试验的关键考量
  • 【科研绘图系列】基于R语言的复杂热图绘制教程:环境因素与染色体效应的可视化
  • 图神经网络(篇二)-基础知识
  • MySQL处理并发访问和高负载的关键技术和策略
  • 设置linux静态IP
  • 创建和连接Vue应用程序实例
  • AI的未来:人类会被取代,还是变得更强大?
  • Go语言的Map
  • 【仿muduo库实现并发服务器】Poller模块
  • Adobe AI高效设计秘籍与创新思维进阶
  • WebSocket扫盲
  • 7 项目立项管理
  • MYSQL-JAVAweb1
  • 华为设备 QoS 流分类与流标记深度解析及实验脚本
  • Ubuntu+Nginx+php+SQLite3+typecho手动搭建个人博客
  • 什么是消息队列?