【发布时间】:2011-04-29 16:29:45
【问题描述】:
如何设置 L1 或 L2 缓存大小限制。我担心增加缓存大小。 一种方法是为缓存定义超时,但我想知道是否可以限制缓存大小?
RGDS 纳维德
【问题讨论】:
标签: orm jpa caching second-level-cache entitymanager
如何设置 L1 或 L2 缓存大小限制。我担心增加缓存大小。 一种方法是为缓存定义超时,但我想知道是否可以限制缓存大小?
RGDS 纳维德
【问题讨论】:
标签: orm jpa caching second-level-cache entitymanager
如何设置 L1 缓存大小限制
你不能。如果您想“控制”(实际上,clear 非常激进,它会删除所有实体)其大小,唯一的选择是定期手动clear 持久化上下文。
如何设置二级缓存大小限制
这取决于底层缓存提供程序。换句话说,这是通过配置 L2 缓存实现来完成的。例如,EHCache 有一个maxElementInMemory 参数。
L1 会发生什么?!随着时间的流逝,内存中会有多少实体?没有任何约束?!
尽可能多地输入,直到最终OutOfMemoryError,因此需要明确clear:
EntityManager 但通常的模式是使用短暂的EntityManager,并且大多数用例不是批处理作业,所以这不是问题。
【讨论】: