2
我試圖根據Kryo
serlization如何工作。我有一個非常大的HashMap,我想推入Redis
。 HashMap是:使用Kryo將HashMap序列化到Redis
HashMap<String, HashMap<String, Set<Long>>> cache = new HashMap<>();
什麼是序列化成Redis
的最快方法?
選項1:直接進入Redis?
我看到,你可以使用Kryo
像:
Kryo kryo = new Kryo();
kryo.register(HashMap.class);
Output output = //For Redis what would the output be ?
kryo. writeObject(output, cache)
但我很困惑,使用Redis
當什麼Output
應。
選項2:通過字節數組?
我也看到了,下面也許可能:
Jedis jedis = new Jedis("localhost");
Kryo kryo = new Kryo();
kryo.register(HashMap.class);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Output output = new Output(stream);
kryo.writeObject(output, cache);
output.close();
byte[] buffer = stream.toByteArray();
jedis.set("Test", buffer);
但這似乎效率不高我,我有效地「克隆」我的大緩存爲字節數組。
這個問題有效的方法是什麼?