redis使用管道pipeline实现批量删除
解决方法:
1.核心方法
public static boolean pipelineHdel (int dbIndex,String key,List<String> list){
Jedis jedis = null;
try {
jedis = getJedis();
jedis.select(dbIndex);
Pipeline pip = jedis.pipelined();
for (String str : list) {
//批量删除
pip.hdel(key, str);
}
pip.sync();//同步
} catch (Exception e) {
e.printStackTrace();
}finally{
if (jedis != null) {
jedis.close();
}
return false;
}
}
2.使用方法
批量删除redis的rd_table表中10条记录
public static void main(String[] args) throws Exception{
List<String> delList=new ArrayList<String>();
for(int i=1;i<10;i++){
delList.add("key"+i);
}
if(delList.size()>0){
pipelineHdel(0, "rd_table", delList);
}
}