redis 正则匹配value_Redis 获取匹配所有的key

本文介绍了在Redis中如何使用正则表达式匹配并删除value相等的多个key。通过Java代码示例展示了如何编写正则匹配及Redis操作,并指出在使用`keys`命令时应注意的细节,即匹配以特定字符串开头的key时,应使用`card_key*`而非`card_key.*`。
摘要由CSDN通过智能技术生成

最近工作中,遇到一个不太难的问题,但是一般情况下 通常,我们使用redis要求的都是key不能相同,但是这次的问题是 值相等的key  不能存在多个。解决的时候,看到redis可以写正则表达式获取匹配的key,所有给自己没有规律的key,加了一个前缀,毕竟一个系统 ,缓存的数据还是很多的,避免拿到别人的key。接下来,我们来看看代码怎么写的。

首先写了一个测试用例,测试自己写的正则能匹配到值。

importjava.util.regex.Matcher;importjava.util.regex.Pattern;/*** @ClassName: RegexMatches

* @Description: 测试正则表达式无误 但是redis 不需要加一点 ‘.’

* @Author youli

* @date 2020年12月7日*/

public classRegexMatches {public static voidmain(String args[]) {

String str= "card_key51e5f269-aef9-446a-8c86-2f19cae2bc";

String pattern= "card_key.*";

Pattern r=Pattern.compile(pattern);

Matcher m=r.matcher(str);

System.out.println(m.matches());

}

}

测试返回正确,就说明能匹配。然后我们看下re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值