【发布时间】:2023-03-10 23:40:02
【问题描述】:
在 3.8 版本中,如何配置 EhCache 缓存以使用 LRU 驱逐策略?
我查看了EvictionAdvisor,但它似乎只被称为最近插入的项目。所以我基本上可以在驱逐最近添加的项目时说“是”或“否”。但它在识别其他应该被驱逐的项目时没有用。
我似乎记得在 EhCache 2.8 中(已经有一段时间了),我可以在 ehcache.xml 配置文件中提供信息来指定缓存使用 LRU 驱逐策略。
【问题讨论】:
在 3.8 版本中,如何配置 EhCache 缓存以使用 LRU 驱逐策略?
我查看了EvictionAdvisor,但它似乎只被称为最近插入的项目。所以我基本上可以在驱逐最近添加的项目时说“是”或“否”。但它在识别其他应该被驱逐的项目时没有用。
我似乎记得在 EhCache 2.8 中(已经有一段时间了),我可以在 ehcache.xml 配置文件中提供信息来指定缓存使用 LRU 驱逐策略。
【问题讨论】:
在这两个文档中提到 ehcache 使用 LRU 作为默认的驱逐策略:
缓存驱逐算法是一种决定在缓存已满时驱逐哪个元素的方法。在 Ehcache 中,MemoryStore 的大小可能会受到限制(有关更多信息,请参阅如何调整缓存大小)。当商店装满时,元素被驱逐。 Ehcache 中的驱逐算法决定了哪些元素被驱逐。默认为 LRU。
https://www.ehcache.org/documentation/2.8/apis/cache-eviction-algorithms.html
Ehcache 使用最近使用的 (LRU) 作为内存存储的默认驱逐策略。逐出策略决定了当缓存已满时要逐出哪个缓存条目。
https://springframework.guru/using-ehcache-3-in-spring-boot/
【讨论】: