Redis模糊匹配批量删除操作,使用RedisTemplate操作
public void deleteByPrex(String prex) { Set<String> keys = redisTemplate.keys(prex); if (CollectionUtils.isNotEmpty(keys)) { redisTemplate.delete(keys); } }
prex 为迷糊匹配的 key,如cache:user:*
这里需要判断keys是否存在,如果一个都匹配不到会报错
ERR wrong number of arguments for 'del' command
当然,如果要直接在linux里面操作的话,在命令行执行以下命令
redis-cli keys "keys" | xargs redis-cli del
keys 是要匹配的规则,和上面的prex一样。
最后,查询也类似上面代码,借助于 keys 函数,但是一般这种作为工具类使用,不推荐业务上使用,因为效率很低。