2024 年 Clojure 调查中分享您的想法!

欢迎!有关此页面如何工作的更多信息,请参阅关于页面。

0
core.cache

一种基于执行某些动作(在缓存未命中时)的函数的缓存实现可以充当任何现有缓存实现的接口。

4 个答案

0

评论者:richhickey

它本身并不执行动作,它接收一个传递的键并返回一个值,然后缓存将该值(与键关联)并返回。棘手的是当函数无法获取值时。需要某种协议来通信(可能是像 3 参数的获取),并且在稍后再次请求同一键时,应该再次调用该函数。

0

评论者:fogus

感谢您的反馈 Rich。我现在我相信我理解了这些细微差别。

0

评论者:seancorfield

@fogus,这是 FnCache 的基础吗?FnCache 似乎没有工厂或被文档化/测试?现在这是“死”代码了吗?

此外,看起来 {{通过}}填补了这方面的空白,因为它提供了让函数在缓存未命中时运行的功能(尽管它仍然没有解决函数无法获取值的情况,对吗?)。

0
参考:[https://clojure.atlassian.net/browse/CCACHE-17](https://clojure.atlassian.net/browse/CCACHE-17)(由 fogus 提交)
...