/**
* redis工具类 扫描指定key,替换掉"redisTemplate.keys()"
*/
public abstract class RedisHelper {
/**
* scan 实现
* @param redisTemplate redisTemplate
* @param pattern 表达式,如:abc*,找出所有以abc开始的键
*/
public Set<String> scan(RedisTemplate<String, Object> redisTemplate, String pattern) {
return redisTemplate.execute((RedisCallback<Set<String>>) connection -> {
Set<String> keysTmp = new HashSet<>();
try (Cursor<byte[]> cursor = connection.scan(new ScanOptions.ScanOptionsBuilder()
.match(pattern)
.count(10000).build())) {
while (cursor.hasNext()) {
keysTmp.add(new String(cursor.next(), "Utf-8"));
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return keysTmp;
});
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192862.html