论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Nosql
›
Redis SCAN命令
Redis SCAN命令
郭卫东
金牌会员
|
2022-9-2 21:15:59
|
显示全部楼层
|
阅读模式
楼主
主题
907
|
帖子
907
|
积分
2721
1. 获取指定前缀的key
需求描述:
Redis中有大量以xxx开头的key,在不使用keys命令的情况下,如何快速获取这些前缀的key
解决方案:
redis自带的scan命令可以解决这个问题
2. SCAN命令
SCAN是一个基于游标的迭代器。这意味着在每次调用该命令时,服务器都会返回一个更新后的游标,用户需要在下一次调用中使用它作为游标参数。当游标设置为0时开始迭代,当服务器返回的游标为0时终止迭代。从游标值为0开始迭代,并调用SCAN直到返回的游标再次为0,这称为完整迭代。
时间复杂度:每次调用 O(1)。O(N) 用于完整的迭代,包括足够的命令调用以使光标返回 0。N 是集合内的元素数。
和scan命令相关的还有另外3个命令,分别是:
SCAN 迭代当前选定的Redis数据库中的一组键
SSCAN 迭代 Sets 类型的元素
HSCAN 迭代 Hash 类型的字段及其相关值
ZSCAN 迭代 Sorted Set 类型的元素及其相关分数
语法:
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]
复制代码
选项:
MATCH选项
和KEYS命令类似,后面可以跟一个通配符
COUNT选项
SCAN不能保证每次迭代返回的元素数量,但可以使用COUNT选项根据经验调整SCAN的行为。基本上,使用COUNT,用户指定了每次调用时从集合中检索元素所需完成的工作量。这只是实现的一个提示,但是一般来说,但是在大多数情况下,这种提示都是有效的(在数据量少的情况下,COUNT值与返回的结果数量不相等)。
TYPE选项
可以使用 TYPE 选项要求 SCAN 仅返回与给定类型匹配的对象。 TYPE 选项仅在整个数据库 SCAN 上可用,而不是 HSCAN 或 ZSCAN 等。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
郭卫东
金牌会员
这个人很懒什么都没写!
楼主热帖
SQL的约束
界面组件DevExpress ASP.NET Core v21. ...
拦截|篡改|伪造.NET类库中不限于public ...
JS基础二--字面量和变量
vue 详情页返回列表,过滤查询条件保留 ...
Cilium 系列-3-Cilium 的基本组件和重 ...
用python对美女内容采集,舞蹈区内容真 ...
ASP.NET Core MVC 从入门到精通之HttpC ...
mysql5.7.35安装配置教程【超级详细安 ...
Spring Boot 学习笔记
标签云
挺好的
服务器
快速回复
返回顶部
返回列表