//future列表
LinkedList<RFuture<Object>> futures = new LinkedList<>();
//结果集
LinkedList<Object> result = new LinkedList<>();
RBatch batch = redissonClient.createBatch();
for (int i =0;i<100;i++) {
RBucketAsync<Object> bucket = batch.getBucket("key"+i);
RFuture<Object> async = bucket.getAsync();
futures.add(async);
}
//批量执行
BatchResult<?> execute = batch.execute();
while (futures.size()>0){
RFuture<Object> first = futures.removeFirst();
//获取当前值,未完成时值为null,使用isDone方法区分value不存在还是任务未完成
Object o = first.getNow();
if (o!=null){
result.add(o);
}else {
if (!first.isDone()){
futures.addLast(first);
}
}
}
redisson批量get
最新推荐文章于 2024-04-27 17:30:34 发布