我实际上在使用多个帐户的多租户项目上工作,每个帐户都使用不同的租户。 使用的策略是每个帐户的SCHEMA。
我已经有了一个tenantIdentifierResolver,它为我提供了一个帐户的合适租户,以及一个多租户连接提供商,它为我提供了给定租户的良好连接。
我有一个SessionFactory,我使用Spring DynamicDataSourceRouting检索相应的连接,这为我提供了给定帐户的正确连接。
一切正常:我的实体被缓存,我只能检索为给定帐户保存的实体等。
我使用org.hibernate.cache.ehcache.EhCacheRegionFactory检查每个Region(IE。实体)是否有不同的缓存,这是我所希望的。
我的问题是每个缓存都与给定区域的所有租户/帐户共享,这对我来说是一个真正的问题,因为我想在我想要的时候为某个租户驱逐一个缓存,而不会影响其他租户
这也是一个关于性能的问题,因为我会有很多帐户,有更多的实体,比如汽车。
从我的观点来看,每个地区和租户都必须有一个缓存。
有没有办法实现呢?除了使用兵马俑或其他缓存实现之外,我没有找到任何信息,我不能。
一种方法是使用特定的regionPrefix,每当我尝试获取正确的缓存时,都会修改并设置为TenantIdentifier,但我认为有更好的方法可以做到这一点。
任何见解都将受到赞赏!
我的问题是,对于给定区域的所有帐户共享缓存。
我想知道如何有一个不同的ca