gpt4 book ai didi

java - EHCache 3.5 获取所有缓存键/条目

转载 作者:行者123 更新时间:2023-11-30 06:04:09 24 4
gpt4 key购买 nike

我正在使用 EHCache 3.5.2 并在获取所有缓存键和缓存条目时遇到问题。

我正在使用 CacheManager 创建缓存。然后我用一些数据填充它。然后我想检索缓存中的所有条目。

一些示例代码:

Cache<String, Foo> cache = cacheManager.createCache("fooCache",
CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, Foo.class,
ResourcePoolsBuilder.heap(20)).build());

cache.putAll(repository.findAll().stream().collect(toMap(Foo::getId, foo -> foo)));

List<Foo> foos = cache.???
List<String> keys = cache.???

这在 v3.5 中可行吗?这似乎在旧版本的 EHCache 中是可能的。

谢谢

最佳答案

按照设计,这不是 Ehcache 中的简单 API 调用。由于它支持的分层模型,在堆上实现所有键或值可能会导致 JVM 内存不足。

如其他答案所示,有多种方法可以实现这一目标。

但是必须一次获取缓存的全部内容被认为是一种缓存反模式。

关于java - EHCache 3.5 获取所有缓存键/条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com