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

欢迎!请查阅关于页面了解这份工作的一些更多信息。

0
core.cache

一种缓存实现可能适用于任何现有的缓存实现,它背后依赖于一个在缓存未命中时执行某些动作的函数。

4 个回答

0

评论者:richhickey

它本身不执行任何动作,它接收一个传递的键并返回一个值,然后缓存该值(将与键相关联)并返回。棘手的地方在于当函数无法获取值时。需要有一种协议来沟通这一点(可以是3参数的get),如果稍后请求缓存中的同一键,则再次调用该函数。

0

评论者:fogus

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

0

评论者:seancorfield

@fogus,这是FnCache的基础吗?看起来它没有工厂,也被记录和测试,这是“死代码”现在吗?

此外,似乎'{{通过}}'填补了这一空白,因为它提供了在缓存未命中时在缓存上运行函数的能力(尽管它仍然没有解决函数无法获取值的时候,对吧?)。

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