Ehcache: сохранение нулевого значения для обозначения пропущенного значения и «еще не кэшировано»? - PullRequest
0 голосов
/ 03 ноября 2018

Я хотел бы использовать Ehcache в конфигурации «cache-as-sor» (чтение-запись + сквозная запись), чтобы он скрывал взаимодействие с базой данных от родительского процесса.

В моем случае может случиться, что для запрошенного ключа соответствующее значение вообще не существует в базовой базе данных. Итак, чтобы избежать запросов к базе данных каждый раз, когда get (key) вызывается для несуществующего значения, я хотел бы сохранить в кеше факт отсутствия этого значения. Первое, что приходит мне в голову, - хранить для этого нулевые значения; поэтому, если ehcache.containsKey (key) возвращает false, мне нужно обратиться к базе данных и обновить кэш; но если ehcache.containsKey (ключ) возвращает истину, а ehcache.get (ключ) возвращает ноль, это означает, что значение никогда не будет там, и мне не нужно запрашивать БД.

Однако в документации Ehcache говорится, что значение (ключ, ноль) не разрешено .

Как справиться с таким сценарием?

1 Ответ

0 голосов
/ 27 ноября 2018

Используйте NullObject. Поэтому вместо хранения null вы сохраняете некоторый объект, который, как вы знаете, представляет null.

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