Скажем, у меня есть таблица, в которой есть Master Data
посеяно 1 раз, и редко она обновляется. Он имеет структуру с плоской структурой, ничего типа Lazy attributes
.Спящий кэш против карты - Цель хранения
Address{
id,
country,
state,
city,
pincode,
area
}
Случай -1: Таблица содержит 1000 записей
Case-2: Таблица имеет 1 миллиона записей
Use Case - нужно, чтобы получить полный Address object
по идентификатору. Нет Updation в операции в этой таблице, используется только для отображения цели, LOV-х, ссылка Id и т.д.
Учитывая производительность, обыкновений памяти, GC, скорость поиска и т.д., которые один лучше, используя кэш гибернации (идентификатор, объект) для этого или просто используя
static HashMap (is as key, Address object as value)
.Я знаю
Hibernate 2nd level cache
(ehcache
,Infinispan
и т. Д.) Также использует структуру карты в глубине библиотек. Так добавляет ли он что-нибудь полезное в вышеуказанных случаях, чтобы добавить дополнительный уровень Hibernate.
вы имеете в виду первый уровень кэша спящего режима на вашем первом этапе? –
@kucing_terbang нет, это чисто кеш второго уровня и hashmap в теме, ни один уровень Ist –
, тогда я выберусь с кэшем hibernate (ehcache и т. Д.). Если у вас нет огромной памяти, зарезервированной для JVM. –