Hibernate 在群集上休眠二级缓存
问题1: 只有这些供应商支持集群上的Hibernate二级缓存,这对吗Hibernate 在群集上休眠二级缓存,hibernate,second-level-cache,Hibernate,Second Level Cache,问题1: 只有这些供应商支持集群上的Hibernate二级缓存,这对吗 冬眠用陶土(商业) SwarmCache(自2003年以来未发布) JBoss缓存1.x JBoss缓存2 问题2: 是否有其他方法可以替代Hibernate二级缓存?(可能是一些数据库缓存?EhCache有一种分布式模式,但我不确定Hibernate是否支持这种模式。不过,我不明白为什么它不起作用 您是否出于某种特定原因省略了JBossCache 3?Q1。EhCache与Hibernate二级缓存(分布式)一样工作良
- 冬眠用陶土(商业)
- SwarmCache(自2003年以来未发布)
- JBoss缓存1.x
- JBoss缓存2
是否有其他方法可以替代Hibernate二级缓存?(可能是一些数据库缓存?EhCache有一种分布式模式,但我不确定Hibernate是否支持这种模式。不过,我不明白为什么它不起作用
您是否出于某种特定原因省略了JBossCache 3?Q1。EhCache与Hibernate二级缓存(分布式)一样工作良好。 我们正在将此用于我们的项目
问题2。可以使用多个缓存
- 所有数据库都已经在内部进行了大量缓存,所以不用担心这一部分
- Hibernate二级缓存有一些细节:
- 非常易于使用(无代码,配置很少)
- 从概念上讲,在实体级别(非常细粒度,我们有时需要缓存更大的粒度,以生成更少的数据库请求)
- 按id或集合工作(例如,缓存查询结果在默认情况下处于禁用状态,因为在一般情况下不可能使其有用)
- 当Hibernate L2不合适时,我们使用相同的EhCache库来缓存数据(不完全是实体)。用例示例:
- 当一个表很大(记录长度和数字)时,内存使用不允许完全缓存它,但只为所有记录缓存三个字段是可以的。可能是这些字段是经常访问的字段,或者是不可变的
- 当我们对缓存有多个读取访问时,每个访问都会触发一个计算(在二级缓存上),给定我们拥有的实体:计算结果可以存储在缓存中。(典型示例,计算需要来自其他表的详细信息,但最终结果中未使用这些详细信息,因此缓存不存储这些详细信息)
- 当表中的实体按类别进行逻辑分组时,我们希望一次请求和缓存一个类别,而不是一次一个实体的常规二级缓存策略李>
您还可以使用[Infinispan(JBoss缓存的演进)作为二级缓存提供程序!][1] [1] :参见lib将是完美的选择。这是一个基于Redis的缓存
为什么是Redis?它的速度非常快,可以在云中工作,并且有现成的云解决方案,例如,所以您不需要自己管理它。不,我只是不知道它=)。谢谢。Terracotta是和JBoss一样的OSS。我不知道你为什么列为商业版