package test; import com.mae.component.valueobject.ComponentVO; import com.mae.component.valueobject.types.ComponentType; import com.mae.conf.RedissonConf; import org.redisson.Redisson; import org.redisson.api.RBucket; import org.redisson.api.RMap; import org.redisson.api.RedissonClient; import org.redisson.codec.SerializationCodec; import org.redisson.codec.FstCodec; import org.redisson.codec.KryoCodec; import org.redisson.config.Config; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.Map; public class RedissonIPWCTaskTester { private ComponentVO task; public ComponentVO getTask() { return task; } public void setTask(ComponentVO task) { this.task = task; } public ComponentVO getComponentVoObj(Long id, ComponentType type, Long version, String title) { ComponentVO vo = new ComponentVO(); vo.setId(id); vo.setType(type); vo.setVersion(version); vo.setTitle(title); return vo; } public static void main(String str[]) { Config config = new Config(); //config = RedissonConf.instance().getConfig(); try { config = Config.fromJSON(new File("C:\\work\\main\\sandbox\\innovation\\dev\\server\\src\\com\\mae\\config\\RedisConfig.json")); //config.setCodec(new KryoCodec()); //String s = config.toJSON(); //System.out.println("Config:" + s); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //config.useSingleServer().setAddress("redis://10.55.60.236:6379").setPassword("ipwcc00l$$$"); RedissonClient client = Redisson.create(config); // RedissonClient client = Redisson.create(); RBucket bucket = null; for (int i = 0; i < 20; i++) { long id = i; RedissonIPWCTaskTester tester = new RedissonIPWCTaskTester(); ComponentVO voTester = tester.getComponentVoObj(Long.valueOf(id), ComponentType.TASK, 1L, "Task-" + i); /* * tester.setTask(voTester); bucket = client.getBucket("ipwcVO" + * i); bucket.set(tester); */ Map map = populateMap(client, i, voTester); //ComponentVO vo = map.get(Integer.toString(i)); //System.out.println("Done:" + vo.getTitle()); } System.out.println("Map population done"); double mapGetStart = System.nanoTime(); RMap map = client.getMap("fstComponentMap1"); double mapGetEnd = System.nanoTime(); System.out.println("Map retrieval time is:" + (mapGetEnd-mapGetStart)); for (int i =0; i < 20; i++){ double keyGetStart = System.nanoTime(); ComponentVO vo =(ComponentVO) map.get(Integer.toString(i)); double keyGetEnd = System.nanoTime(); System.out.println("Key retrieval time is:" + (keyGetEnd-keyGetStart)); } } private static Map populateMap(RedissonClient client, int key, ComponentVO value) { RMap map = client.getMap("fstComponentMap1"); /* * for (int i = 0; i < 20; i++) { RedissonTester rTester2 = new * RedissonTester(); rTester2.setId(i); rTester2.setName("rmapTester" + * i); System.out.println(rTester2.toString()); * map.put(Integer.toString(i), rTester2); * * } */ try { map.put(Integer.toString(key), value); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return map; } public static byte[] serialize(Object obj) throws IOException { try(ByteArrayOutputStream b = new ByteArrayOutputStream()){ try(ObjectOutputStream o = new ObjectOutputStream(b)){ o.writeObject(obj); } return b.toByteArray(); } } public static Object deserialize(byte[] bytes) throws IOException, ClassNotFoundException { try(ByteArrayInputStream b = new ByteArrayInputStream(bytes)){ try(ObjectInputStream o = new ObjectInputStream(b)){ return o.readObject(); } } } }