2024 Clojure 状态调查中分享你的想法!

欢迎!请查看关于页面以了解有关如何工作的更多信息。

0
core.cache

一种缓存实现,它通过一个执行某些操作的函数支持缓存未命中,可以作为现有任何缓存实现的前端。

4 个答案

0

评论由:richhickey

它本身不执行操作,它获取一个传递的键并返回一个值,然后缓存(将值与键关联)并返回。难点在于当函数无法获取值时。需要有一种协议来通信(可能是类似于三参数的get),并且,如果稍后缓存再次被要求访问相同的键,应再次调用该函数。

0

评论由:fogus

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

0

评论由:seancorfield

@fogus 这是 FnCache 的基础吗?看起来没有工厂或文档/测试。这是现在“死亡”的代码吗?

此外,似乎由于提供在缓存未命中时对函数执行的操作,因此 {{through}} 满足其中一些差距(尽管它仍未解决函数无法获取值的情况,对吧?)。

0
参考: https://clojure.atlassian.net/browse/CCACHE-17 (由 fogus 报告)
...