В настоящее время я использую Hibernate с параметрами MultiTenancy (схема для каждого арендатора в MySQL ... так что DB для арендатора). У нас есть реализация поставщика подключения и идентификатора арендатора, который правильно переключает схемы БД для нас. Отлично.Использование Hibernate 2-го уровня кэш-памяти и многоуровневости
Теперь мы хотим начать изучение с использованием 2-го уровня кэша в нашем приложении. Просматривая документы, неясно, работает ли это правильно или нет.
Для данной базы данных арендатора в качестве первичного ключа будут указаны строки с заданными идентификаторами базы данных ... 1,2,3 и т. Д. Когда у меня есть две базы для арендаторов в игре, эти объекты хранятся отдельно? Будет ли Hibernate правильно создавать кеши на одного арендатора (эффективно)?
Хмм, поэтому это означает, что все данные арендатора попадают в один и тот же кеш. В принципе, как дискриминатор столбцов. –
Есть один регион для Query Cache, да. Таким образом, все записи идут в том же регионе. –
Кэш-память Hibernate не зависит от механизма кэширования второго уровня, поэтому класс QueryKey может быть не идеальным, как доказательство того, что кеш второго уровня является обладателем многопользовательского доступа, но в документации указано, что в кеш второго уровня поддерживается многозадачность. –