package com.cxy.redisclient.integration.key;
import static redis.clients.jedis.ScanParams.SCAN_POINTER_START;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
import com.cxy.redisclient.domain.NodeType;
import com.cxy.redisclient.domain.RedisVersion;
public class FindContainerKeys28 extends FindContainerKeys {
public FindContainerKeys28(int id, int db, String container, String keyPattern) {
super(id, db, container, keyPattern);
}
public FindContainerKeys28(int id, int db, String container, String keyPattern, List<NodeType> valueTypes, boolean forward) {
super(id, db, container, keyPattern, valueTypes, forward);
}
protected Set<String> getResult() {
Set<String> nodekeys = new HashSet<String>();
assert(container != null);
ScanParams params = new ScanParams();
params.match(container + keyPattern);
ScanResult<String> result;
String cursor = SCAN_POINTER_START;
do {
result = jedis.scan(cursor, params);
nodekeys.addAll(result.getResult());
cursor = result.getStringCursor();
}while(!result.getStringCursor().equals(SCAN_POINTER_START));
return nodekeys;
}
@Override
public RedisVersion getSupportVersion() {
return RedisVersion.REDIS_2_8;
}
}