java 批量删除redisCluster相同前缀或后缀的key
【代码】java 批量删除redisCluster相同前缀或后缀的key。
·
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);
}
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献7条内容
所有评论(0)