Skip to content
Snippets Groups Projects
Commit b0cb4510 authored by Robert Lehmann's avatar Robert Lehmann Committed by Robert Lehmann
Browse files

implemented basic redis operations

parent f9431c60
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,8 @@ import com.yahoo.ycsb.DB;
import com.yahoo.ycsb.DBException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.Vector;
......@@ -46,30 +48,48 @@ public class RedisClient extends DB {
}
}
//XXX jedis.select(int index) to switch to `table`
@Override
public int read(String table, String key, Set<String> fields,
HashMap<String, String> result) {
return 0;
if (fields == null) {
result.putAll(jedis.hgetAll(key));
}
else {
String[] fieldArray = (String[])fields.toArray(new String[fields.size()]);
List<String> values = jedis.hmget(key, fieldArray);
Iterator<String> fieldIterator = fields.iterator();
Iterator<String> valueIterator = values.iterator();
while (fieldIterator.hasNext() && valueIterator.hasNext()) {
result.put(fieldIterator.next(), valueIterator.next());
}
assert !fieldIterator.hasNext() && !valueIterator.hasNext();
}
return result.isEmpty() ? 1 : 0;
}
@Override
public int insert(String table, String key, HashMap<String, String> values) {
return 0;
return jedis.hmset(key, values).equals("OK") ? 0 : 1;
}
@Override
public int delete(String table, String key) {
return 0;
return jedis.del(key) == 0 ? 1 : 0;
}
@Override
public int update(String table, String key, HashMap<String, String> values) {
return 0;
return jedis.hmset(key, values).equals("OK") ? 0 : 1;
}
@Override
public int scan(String table, String startkey, int recordcount,
Set<String> fields, Vector<HashMap<String, String>> result) {
//XXX
return 0;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment