Redis高级操作:scan实现模糊查询

在大数据量场景下,避免使用阻塞式的keys命令,推荐使用scan命令进行非阻塞的键查找。本文介绍了scan命令及其相关命令如SSCAN,详细解释了命令参数如cursor、MATCH和COUNT,并提供了实际操作示例,强调了在使用过程中需要注意的结果重复和数据修改问题。
摘要由CSDN通过智能技术生成

在巨大的数据量的情况下,做查找符合某种规则的Key的信息,这里就有两种方式:

keys命令:简单粗暴,但是由于Redis是单线程,keys命令是以阻塞的方式执行的,keys是以遍历的方式实现的复杂度是 O(n),Redis库中的key越多,查找实现代价越大,产生的阻塞时间越长。

can命令: 以非阻塞的方式实现key值的查找,绝大多数情况下是可以替代keys命令的,可选性更强

1. scan相关命令

都是用于增量迭代集合元素。

SCAN 命令用于迭代当前数据库中的数据库键。

SSCAN 命令用于迭代集合键中的元素。

HSCAN 命令用于迭代哈希键中的键值对。

ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。

之后的例子会以sscan为例

2. 命令参数

Key:查询的相关集合名称

cursor: 游标值,第一次迭代使用 0 作为游标,表示开始一次新的迭代

[MATCH pattern] :模糊匹配

[COUNT count] :每次的查询条数,默认值为 10

2.1 创建数组

file

在上面这个例子中, 第一次迭代使用 0 作为游标,表示开始一次新的迭代。

第二次迭代使用的是第一次迭代时返回的游标, 也即是命令回复第一个元素的值 —— 3 。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值