当缓存内存已满时,在将新实体添加到缓存之前,哪个现有实体将被休眠从缓存中逐出?
Which existing entity will be evicted from cache by hibernate before adding the new entity into cache when cache memory is full?
我正在休眠项目中设置 EHCache。如果缓存已满会怎样?假设所有实体在缓存中都是有效的,并且 hibernate 想要将新实体添加到其中。那么hibernate会驱逐哪个实体来将这个新实体添加到缓存中呢?或者有什么机制可以通过代码来处理这种情况?
默认实现是 LRU 或最近最少使用。当然这可以重新配置,但通常这不是一个坏策略。 Documentation here。好像他们也支持LFU和FIFO,如果你选择的话,你可以指定你自己的算法。
祝你好运!
我正在休眠项目中设置 EHCache。如果缓存已满会怎样?假设所有实体在缓存中都是有效的,并且 hibernate 想要将新实体添加到其中。那么hibernate会驱逐哪个实体来将这个新实体添加到缓存中呢?或者有什么机制可以通过代码来处理这种情况?
默认实现是 LRU 或最近最少使用。当然这可以重新配置,但通常这不是一个坏策略。 Documentation here。好像他们也支持LFU和FIFO,如果你选择的话,你可以指定你自己的算法。
祝你好运!