redis ha sh - POJO с сохранением карты в виде хэша - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть POJO, который выглядит как указано ниже, имеет карту как одно из свойств

@ RedisHa sh ("Test") publi c class DataElasticCache {

@Id
private String id;
private long sourceTime;
private long sequenceNumber
@Indexed private double cycleID;
private map<String, Object> values

}

Я пытаюсь сохранить его в кеше Elasti c - перерисовать с помощью репозитория и хэшировать его с помощью библиотеки @ RedisHa sh redis и библиотеки данных салата.

Мне нужна индексация на немного поля, и именно поэтому я использовал его. При создании ha sh в redis он создает пару значений ключа для каждого поля, включая отдельные ключи свойства карты, как показано ниже

  1) "_class"
  2) "elasticcache.model.DataElasticCache"
  3) "id"
  4) "64:d6:6"
  5) "businessDate"
  6) "1546993380000"
  7) "sourceTime"
  8) "1582643572252"
  9) "sequenceNumber"
 10) "646"
 11) "deliveryClass"
 12) "d6"
 13) "cycleID"
 14) "64.0"
 15) "instrumentID"
 16) "6"
 17) "values.[random0]._class"
 18) "java.lang.Double"
 19) "values.[random0]"
 20) "0.857969597582983"
 21) "values.[random38]._class"
 22) "java.lang.Double"
 23) "values.[random38]"
 24) "-1.0819228523608013"
 25) "values.[random39]._class"
 26) "java.lang.Double"
 27) "values.[random39]"
 28) "-0.9189258905684135"

Я хочу отдельную key-vale для других моих свойств, но для Карта должна быть только один ключ в Redis. Есть ли способ, которым мы можем сделать это.

  1) "_class"
  2) "elasticcache.model.DataElasticCache"
  3) "id"
  4) "64:d6:6"
  5) "businessDate"
  6) "1546993380000"
  7) "sourceTime"
  8) "1582643572252"
  9) "sequenceNumber"
 10) "646"
 11) "deliveryClass"
 12) "d6"
 13) "cycleID"
 14) "64.0"
 15) "instrumentID"
 16) "6"
 17) "values.[random0]._class"
 18) "java.lang.Double"
 19) "values.[random0]"
 20) "entire map"

Имеет ли это значение в потреблении памяти или нет.

Заранее спасибо

...