Hibernate 5多租户&& EhCache,为每个租户配置缓存

Pie*_*rre 6 caching hibernate ehcache multi-tenant

我实际上是在一个具有多个帐户的多租户项目中,每个帐户使用不同的租户。每个帐户使用的策略是SCHEMA。

我已经有一个tenantIdentifierResolver,可以为我提供一个帐户的正确租户,以及一个多租户连接提供程序,可以为给定的租户提供良好的连接。

我只有一个SessionFactory,并使用Spring DynamicDataSourceRouting检索了相应的连接,该连接为给定帐户提供了正确的连接。

一切正常:我的实体已缓存,我只能检索为给定帐户保存的实体,等等。

我使用org.hibernate.cache.ehcache.EhCacheRegionFactory检查每个区域(IE。实体)是否具有不同的缓存,这是我希望的。

我的问题是,每个缓存都与给定区域的所有租户/帐户共享,这对我来说是一个真正的问题,因为我想在需要时为给定租户逐出一个缓存,而又不影响其他租户。

Cars说,这也是一个有关性能的问题,因为我会有很多帐户,实体也很多。

从我的角度来看,每个区域和每个租户都必须具有缓存。

有办法实现吗?除了使用兵马俑或其他缓存实现外,我没有找到任何信息,我无法找到。

一种方法是使用特定的regionPrefix,每次我尝试获取正确的缓存时都会对其进行修改并设置为TenantIdentifier,但我认为会有更好的方法。

任何见识将不胜感激!

我的问题是给定区域的所有帐户都共享缓存。

我想知道如何拥有一个不同的ca