Redis模糊匹配有2个方式来实现:Keys 字段* | SCAN语句
使用keys 名称* 来进行查询
keys 字段* 会返回所有的数据,但是当数据量大的时候,由于redis是单线程的,可能会导致阻塞其他命令,不够友好。
使用SCAN 语句来查询:会返回部分数据,但是当数据量大的时候,不会导致线程被阻塞。
SCAN cursor [MATCH pattern] [COUNT count]
参数说明:
- cursor:游标,游标起始值一般为 0。
- pattern: 指定匹配模式。
- count:指定从数据库中返回多少个 key,默认为 10 。
它会返回2个元素,第一个元素是下一次的游标,第二个元素是返回给你的数据
例子:
那么,下一次的语句就是scan 49152 match data* count 10