redis数据集插件。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
1.2 KiB

package com.fr.plugin.db.redis.core.visit.impl;
import com.fr.plugin.db.redis.core.visit.AbstractVisitor;
import com.fr.stable.ParameterProvider;
import com.fr.stable.script.CalculatorProvider;
import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import java.util.List;
public class HashMGetVisitor extends AbstractVisitor<String>{
@Override
public List<List<String>> getContent(CalculatorProvider calculator, ParameterProvider[] ps, Jedis client, String query, int rowCount) throws Exception {
String[] arr = query.trim().split(TOKEN_SPACE);
if (arr.length < 3) {
throw new IllegalArgumentException("Illegal query:" + query);
}
List<String> keys = new ArrayList<String>();
for (int i = 2, len = arr.length; i < len; i ++) {
keys.add(trimCommand(arr[i]));
}
String[] fields = keys.toArray(new String[keys.size()]);
List<String> data = client.hmget(trimCommand(arr[1]), fields);
List<List<String>> result = new ArrayList<List<String>>();
result.add(keys);
result.add(data);
return result;
}
@Override
public String keyWord() {
return "hmget";
}
}