这里我使用的是RedisTemplate模板
1、pom.xml依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
以下工具类方法中会用到模板依赖:
@Autowired
private RedisTemplate<String, ?> redisTemplate;
2、模糊删除,比如:Redis的key前缀为 t*,则会删除库中key 为 t 开头的所有数据。
public Long delByPrefix(final String prefixKey){
Set<String> keys = redisTemplate.keys(prefixKey);
if(!CollectionUtils.isEmpty(keys)) {
return redisTemplate.delete(keys);
}
return null;
}
3、模糊查询,跟模糊删除类似,传入要查询的key前缀即可
//模糊删除根据前缀key
public java.util.List<Map<String, Object>> queryByPrefix(final String prefixKey){
Set<String> keys = redisTemplate.keys(prefixKey);
java.util.List<Map<String,Object>> resultList=new ArrayList<Map<String,Object>>();
if(!CollectionUtils.isEmpty(keys)) {
for (String key : keys) {
Map<String, Object> map = new HashMap<String, Object>();
map.put(key, get(key));
resultList.add(map);
}
}
return resultList;
}
4、结语:如果需要精确查询或者删除,即可传入完整的 key 名。上面两个方法还支持命名空间的key批量删除。
附件:完整代码资源(弱弱的说一句,我设置的付费下载,但是也不多,如果实在囊中羞涩的可以私信我,我也可以免费提供)。