【发布时间】:2017-05-16 06:14:32
【问题描述】:
Google 提供“loading cache”,描述如下:
从键到值的半持久映射。值由缓存自动加载,并存储在缓存中,直到被驱逐或手动失效。
很遗憾,上面的描述不是很清楚。 “自动加载”是什么意思?
我希望它的意思是:“如果请求的密钥在缓存中不存在,则它会自动添加到其中”。
这个语句在一定程度上支持了这一点(来自 get() 函数):
"返回在这个缓存中关联的值,首先加载那个 必要时取值。”
但同样,缓存的“加载”方面是用“加载”一词来解释的。走的路,谷歌:[
【问题讨论】:
-
它做你认为它做的事。但我想知道为什么这个问题存在。你为什么不先尝试呢?鉴于您可以在 Guava 的 GitHub 项目或 Internet 上找到大量示例,因此设置并不复杂。你会亲眼看到它正在做你认为它正在做的事情。请注意,Wikipedia 上明确使用了“负载”一词,Guava documentation(不是 Javadoc,真正的文档)解释了这是进一步的细节。
-
LoadingCache的第二个谷歌搜索结果链接到 Guava wiki page "CachesExplained" - 如果您仍然不明白它的目的,请阅读并提出任何进一步的具体问题。 -
@OlivierGrégoire:我不是 Java 程序员。尝试这个对我来说并非易事。另外,wiki 文章也不错,但是其中两次提到了 load 这个词,我可以很容易地在类似的上下文中找到“put”这个词(参见:developer.mozilla.org/en-US/docs/Web/API/Cache/put)。
-
@Xaerxess:感谢您的链接。我发帖之前确实看到了。它也没有解释加载是什么,只是说:“LoadingCache 可能很有用 [..],因为它的自动缓存加载”。这(再次)什么也没解释。