南京企业网站开发公司,上海网站建设公司网站,网站显示图片标记,泸州城建设档案管网站目录
1、为什么使用渐进式遍历#xff1f;
2、scan的使用
3、渐进式遍历的缺点
4、补充知识点#xff1a;redis中也区分database 1、为什么使用渐进式遍历#xff1f; 前面的博客中#xff0c;我们有提到使用keys *来获取所有的key#xff0c;但这种办法#xff0c;…目录
1、为什么使用渐进式遍历
2、scan的使用
3、渐进式遍历的缺点
4、补充知识点redis中也区分database 1、为什么使用渐进式遍历 前面的博客中我们有提到使用keys *来获取所有的key但这种办法当Redis中存储的有很多key时实行此命令所耗费的时长就会很长不符合使用规范redis一般情况下都会要求命令执行时短平快~ 因此提出使用渐进式遍历也就是说在不能使用keys *的情况下我又想获取redis中的所有的key就需要使用渐进式命令所谓渐进就是循序渐进我们一次取出一点直到取完~ 渐进式命令有一组命令我们暂时只介绍一种scan其他命令的使用都是一样的~ 2、scan的使用
scan渐进式遍历redis中当前数据库中的数据库键key语法scan cursor [MATCH pattern] [COUNT count] [TYPE type]参数说明1cursor-光标位置。填写光标位置就从指定位置开始往后遍历参数说明2MATCH-通配符参数和keys命令一样~参数说明3COUNT-往后遍历多少个元素【默认为10】参数说明4TYPE-指定只遍历某个数据类型返回值类似于一个二元组第一个元素为下一次遍历时从哪个光标开始【为0时说明遍历结束】第二个元素是一个列表此次遍历所取到的key有哪些~
举例 3、渐进式遍历的缺点 渐进式遍历时虽然解决了阻塞问题但是如果遍历期间redis内部的key有所变化可能会导致遍历中的key会重复遍历或者是遗漏~ 4、补充知识点redis中也区分database
redis中页存在database平时我们会默认使用0号databaseredis中默认提供了16了database使用命令select dbIndex来切换不同的database命令flushall是删除所有database中的所有key命令flushdb是删除当前database中的偶有key;