redis渐进式遍历

文章目录

  • [一. 渐进式遍历介绍](#一. 渐进式遍历介绍)
  • [二. scan命令](#二. scan命令)

一. 渐进式遍历介绍

keys * , 一次性把整个redis中所有的key都获取到, 这个操作比较危险, 可能会阻塞redis服务器

通过渐进式遍历, 就可以做到, 既能够获取到所有的key, 又不会卡死服务器

渐进式遍历, 不是一个命令把所有key都拿到, 而是每执行一次命令, 只获取到其中的一小部分, 保证当前这次操作不会太卡, 想要得到所有的key, 就需要进行多次遍历, 多次执行渐进式遍历命令, 所用到的思想就是化整为零

渐进式遍历其实是一组命令, 这组命令的使用方法是一样的

二. scan命令


  • cursor 光标, 指向了当前遍历的位置, 不代表下标, 只是一个字符串

  • MATCH pattern 匹配模式

  • COUNT count 限制这一次遍历能够获取到的多少个元素, 默认是10 (写入的count和实际返回的key的个数不一定是完全相同的, 但是不会差很多)

  • TYPE type 限制value的类型



注意: 每次遍历, count可以设置成不一样

这里的渐进式遍历, 在遍历过程中, 不会在服务器存储任何的状态信息, 此时的遍历是可以终止的, 不会对服务器产生任何副作用

相关推荐
松涛和鸣1 分钟前
42、SQLite3 :字典入库与数据查询
linux·前端·网络·数据库·udp·sqlite
Yu_iChan1 分钟前
苍穹外卖Day6 缓存菜品与缓存套餐功能
redis·缓存
是垚不是土3 分钟前
TDengine脚本备份方案:全库/单库备份与飞书通知
大数据·运维·数据库·飞书·时序数据库·tdengine
无言(* ̄(エ) ̄)4 分钟前
C语言--运算符/函数/结构体/指针
c语言·开发语言·数据结构·数据库·算法·mongodb
爱丽_23 分钟前
MyBatis关联映射与注解开发详解
数据库·mybatis
JYHuahua23 分钟前
YashanDB数据库:适用于各种规模企业的理想选择
数据库
iVictor25 分钟前
Redis 7.0 新特性之maxmemory-clients:限制客户端内存总使用量
redis
疯狂的挖掘机8 小时前
记一次基于QT的图片操作处理优化思路(包括在图上放大缩小,截图,画线,取值等)
开发语言·数据库·qt
奇树谦10 小时前
Qt | 利用map创建多个线程和定时器
网络·数据库·qt
用户479492835691510 小时前
性能提升 4000%!我是如何解决 运营看板 不能跨库&跨库查询慢这个难题的
数据库·后端·postgresql