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{ @Override public List> 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 keys = new ArrayList(); for (int i = 2, len = arr.length; i < len; i ++) { keys.add(trimCommand(arr[i])); } String[] fields = keys.toArray(new String[keys.size()]); List data = client.hmget(trimCommand(arr[1]), fields); List> result = new ArrayList>(); result.add(keys); result.add(data); return result; } @Override public String keyWord() { return "hmget"; } }