import org.apache.commons.lang3.StringUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
String redisIp="127.0.0.1";
Integer redisPort=6379;
Integer redisDB=0;
String matchParam="*_11999_165_*";
String redisKey="CHECK:AUTO:NOTIFICATION:TIMEOUT_0";
List<String> ks=new ArrayList<>();
Jedis jedis = new Jedis(redisIp, redisPort, 0);
jedis.select(redisDB);
ScanParams scanParams=new ScanParams();
scanParams.match(matchParam);
String cursor="0";
do{
ScanResult<Tuple> result = jedis.zscan(redisKey, cursor,scanParams);
cursor = result.getCursor();
ks.addAll(result.getResult().stream().map(s->s.getElement()).collect(Collectors.toList()));
}while(StringUtils.isNotEmpty(cursor)&&!cursor.equals("0"));
jedis.close();
System.out.println("size:"+ks.size()+",count:"+ks.stream().distinct().count());
}
}
jest scan cursor all
于 2022-02-08 11:51:22 首次发布