Infinispan: только локальный кеш - PullRequest
0 голосов
/ 08 января 2019

Я использую Infinispan (7.2.3.Final) для хранения данных в нескольких кэшах.

Дело в том, что я хочу хранить данные только локально, в файлах. Я не хочу хранить данные в памяти, чтобы избежать проблем с памятью.

Я получаю эту ошибку:

java.lang.OutOfMemoryError: Java heap space

1 Ответ

0 голосов
/ 08 января 2019

Infinispan - это распределенная в памяти Java. Поэтому я не думаю, что это целесообразно использовать, если вы не хотите использовать оперативную память. На мой взгляд, хорошее использование Infinispan означает, что вам придется настроить память (размер и выселение), чтобы найти хороший компромисс между эксплуатационными расходами, сложностью и производительностью.

Вы можете настроить Infinispan для сохранения данных ( doc ). И вы можете настроить его для удаления данных из оперативной памяти ( doc ). Но я не могу посоветовать реальную конфигурацию, если вы не опишите свой вариант использования и, в частности, почему вы считаете, что вам нужен Infinispan (почему не база данных?)

Возможное использование - хранить все в памяти. Очевидно, что ваши данные должны быть достаточно маленькими (я не даю число, некоторые люди могут согласиться заплатить несколько машин, чтобы уменьшить задержку, это зависит от вашего бизнеса ...)

Десять лет назад мы могли использовать их для простой пакетной вставки в базу данных. Теперь мы используем Kafka для этого варианта использования.

Частое использование - хранить горячие данные в памяти. В этом случае мы настраиваем выселение и постоянство. Я думаю, что вы ищете стратегии выселения здесь . Есть несколько стратегий выселения. Но, насколько я знаю, никто не позволяет вообще не использовать оперативную память: объекты будут проходить через память, по крайней мере, во время сохранения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...