package org.example.sink;
import com.alibaba.fastjson.JSONObject;
import org.example.bean.RedisUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
import java.util.Map;
import java.util.TreeSet;
public class delRedisKey {
/**
* 批量删除redis中相同前缀或后缀的工具
* @param pattern
* @return
*/
public static TreeSet<String> keys(JedisCluster jedisCluster,String pattern){
//1、初始化容器
TreeSet<String> keys = new TreeSet<>();
//2、获取所有的节点
Map<String, JedisPool> clusterNodes = jedisCluster.getClusterNodes();
//遍历节点 获取所有符合条件的KEY
for(String k : clusterNodes.keySet()){
JedisPool jp = clusterNodes.get(k);
Jedis connection = jp.getResource();
try {
keys.addAll(connection.keys(pattern));
} catch(Exception e){
} finally{
//用完一定要close这个链接!!!
connection.close();
}
}
return keys;
}
public static void main(String[] args) {
JedisCluster jedisCluster = RedisUtils.getRedisCluter();
TreeSet<String> trees=keys(jedisCluster,"T*");
//1、执行删除操作
for(String key:trees){
jedisCluster.del(key);
System.out.println(key);
}
}
}
java 批量删除redisCluster相同前缀或后缀的key
最新推荐文章于 2023-11-30 15:33:43 发布