java - 当缓存内存已满时,在将新实体添加到缓存之前,哪个现有实体将被 hibernate 从缓存中逐出?

标签 java hibernate ehcache hibernate-cache

我正在 hibernate 项目中设置EHCache。如果缓存已满会发生什么?假设所有实体在缓存中都是有效的,并且 hibernate 想要将新实体添加到其中。那么哪个实体会被 hibernate 逐出以将这个新实体添加到缓存中呢?或者有什么机制可以通过代码处理这种情况吗?

最佳答案

默认实现是 LRU 或最近最少使用。当然,这可以重新配置,但通常这不是一个坏策略。 Documentation here 。看起来它们也支持 LFU 和 FIFO,并且您可以根据需要指定自己的算法。

祝你好运!

关于java - 当缓存内存已满时,在将新实体添加到缓存之前,哪个现有实体将被 hibernate 从缓存中逐出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57162588/

相关文章:

java - 从类路径设置嵌入式 Jetty war

java - 不能做二级缓存

java - 如何在ehcache.xml中配置QueryCache

database - 当另一个进程修改数据库时,Hibernate 二级缓存失效

java - 为什么在尝试使用 PCF 获取 channel 信息时会收到 MQRC_NOT_AUTHORIZED 错误?

java - Hibernate 对多个条件的条件限制

java - org.h2.jdbc.JdbcSQLException : Schema "SYS" not found; SQL statement: select name from sys. 序列 [90079-192]

java - 在 Spring Boot 测试之前初始化数据库

Hibernate 执行的查询和测试

Java 应用程序在 Mac 和 Windows 上运行自己的 JVM