3

ネストされた複雑な Java オブジェクトを Redis に格納する最良の方法は何ですか? 私たちが行っている方法は次のとおりです。

Redis のやり取りにはRedisson Java クライアント ライブラリを使用しています。以下のコードを参照してください。

   try{
        Config conf = new Config();
        conf.useSingleServer().setTimeout(3600000);
        conf.useSingleServer().setRetryInterval(3600000);
        conf.useSingleServer().setAddress("redis://127.0.0.1:6379");
        RedissonClient redisson = Redisson.create(conf);
        RMap<String,Object> map = redisson.getMap("myCache");
        MyClass myObject; // This is the big complex object.
        map.put("key", myObject);
        redisson.shutdown();
    }catch (Exception ex) {
        ex.printStackTrace();
    }

同様に、put の代わりに get を使用して、redis から myObject を埋めています。

大きなサイズのデータ​​が redis に保存されているため、タイムアウトを増やしました。次の例外が発生していました。

コマンドのコマンド実行タイムアウト: (EVAL) with params...

次の質問にも答えてください。

  1. これは、巨大で複雑な Java オブジェクトを Redis に配置する最良の方法ですか? (データ容量は1GB程度)
  2. 私たちのチームは Redis を初めて使用しています. Redis の優れたパフォーマンスを読みました. 複雑なデータを格納するために使用する必要がありますか? または値として小さな単一の文字列の場合にのみ適していますか? (そうであれば、私たちのユースケースに何が推奨されますか)

ありがとう。

4

1 に答える 1