- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Google 提供了“loading cache ”,其描述如下:
A semi-persistent mapping from keys to values. Values are automatically loaded by the cache, and are stored in the cache until either evicted or manually invalidated.
不幸的是,上面的描述不是很清楚。 “自动加载”是什么意思?
我希望这意味着:“如果缓存中不存在请求的 key ,则会自动将其添加到缓存中”。
这个语句(来自 get() 函数)在某种程度上支持了这一点:
"Returns the value associated with in this cache, first loading that value if necessary."
但同样,缓存的“加载”方面是用“加载”一词来解释的。一路走好,谷歌:[
最佳答案
Guava 的 wiki 文档有 full definition其中:(重点是我的)
A
LoadingCache
is aCache
built with an attachedCacheLoader
. Creating aCacheLoader
is typically as easy as implementing the methodV load(K key) throws Exception
. So, for example, you could create aLoadingCache
with the following code:[...]
The canonical way to query a
LoadingCache
is with the methodget(K)
. This will either return an already cached value, or else use the cache'sCacheLoader
to atomically load a new value into the cache. BecauseCacheLoader
might throw anException
,LoadingCache.get(K)
throwsExecutionException
. If you have defined aCacheLoader
that does not declare any checked exceptions then you can perform cache lookups usinggetUnchecked(K)
; however care must be taken not to callgetUnchecked
on caches whoseCacheLoader
s declare checked exceptions.
强调的这句话解释了所有需要解释的内容:一个值要么从缓存中获取,要么在调用 get(K)
时加载。
在评论中,您说您希望更多地强调正在加载的内容。当您将内容放入缓存时,您放入了。当您没有将内容放入缓存中,但缓存会自行计算并放入内容时,缓存会为您加载它。
关于caching - 什么是 "LoadingCache"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43993731/
Google 提供了“loading cache ”,其描述如下: A semi-persistent mapping from keys to values. Values are automati
在guava中,使用LoadingCache时会同步调用CacheLoader。但是,我的 load() 操作可能需要太长时间(~1 秒),我想采取默认操作以防它花费太长时间(>200 毫秒)并异步加
我使用 Map 容器作为 LoadingCache 中的值: @Service public class SlideCacheSpace { @Value("${value}") pr
我有一个数据结构,其中有对象,并且它们有目标。并且它们之间是多对多的关系。例如:object1 具有目标:t1、t2、t3 和object2 有目标:t2、t3。 我想编写一个 Guava Loadi
我有一个像这样的loadingcache类: LoadingCache> parents 其中 Parent 是一个具有 id、description、home 和 nickname asMap();
我完全重写了这个问题,因为原来的问题无法解决。为了简单起见,我使用斐波那契数列作为玩具示例。 trivial recursive cached computation正如预期的那样,以非常长的堆栈跟踪
我正在使用 CacheBuilder和 LoadingCache实现数据库数据的内存缓存。 假设客户端在缓存中查询后备存储中不存在的项目。我想让客户端知道没有找到指定键的数据。处理此问题的最佳方法是什
我需要在每天的特定时间刷新我的缓存,在我的例子中,是在午夜。我有办法用 Guava LoadingCache 做到这一点吗?到目前为止,我只在一天后使用下一个代码更新了缓存: private fina
我有一个像这样的加载缓存: MyCacheLoader loader=new MyCacheLoader(); MyRemovalListener listener=new MyRemovalList
我正在使用 Guava LoadingCache 来存储数据库查询的结果。但是,尽管没有设置逐出策略,但通过 getFromCache() 获取缓存会导致每次都命中 CacheLoader load(
我在我的项目中使用 Guava 的 LoadingCache 来处理线程{安全、友好}的缓存加载,它工作得非常好。但是,有一个限制。 当前定义缓存的代码如下所示: cache = CacheBuild
当我单独运行它们时,我为 Caffeine CacheLoader 实现编写的单元测试(JUnit、Mockito)全部成功,但当我一起运行它们时,其中一个测试失败了。我相信我在所有测试对象设置中都遵
我正在使用 Guava LoadingCache 向其中填充一些数据,并且我想每 1 分钟从该 LoadingCache 中删除所有条目。 public class MetricHolder {
我正在使用 Guava LoadingCache 将所有元素一次批量加载到我的急切缓存中。但是执行loadAll我提供的方法实际上并不需要 Iterable keys 参数,因为我的 DAO 也不排除
我希望添加几个不同的 LoadingCache到 Spring CacheManager ,但是我不明白如何使用 CaffeineCacheManager 实现这一点。看来只有一个加载器可以刷新内容,
我正在使用一个允许用户更改其显示名称的帐户系统。为了实现这一点,每个用户都有一个 UUID 。在我的程序中的各个点,我可能有一个 UUID 并想要其当前的显示名称,或者我可能有一个当前的显示名称并且我
我正在使用 Guava 的 Loading Cache缓存 HTTP 请求的结果。 Kotlin/KTOR 提供了一个 HTTP Client Library基于协程(即非阻塞 HTTP 请求)。 我
要在 spring boot 应用程序中本地缓存一些数据,哪种技术在读/写操作方面会更好?HashMap vs ConcurrentHashMap vs LoadingCache( Guava 库)我
我正在使用 Java7,并且正在配置 Apache Ignite(版本 2.7.5),其中服务器/客户端已启动并运行。但是,客户端无法从对象中检索 Guavas LoadingCache 变量(但是检
我正在尝试利用 Guava 库中的 LoadingCache 来缓存 LinkedList。 LoadingCache> cache; 我已经设置了一个 CacheLoader 来处理未命中,它工作正
我是一名优秀的程序员,十分优秀!