请在 2024 年 Clojure 状态调查 中分享您的想法!

欢迎!有关本站的工作方式,请参阅 关于 页面获取更多信息。

0
core.cache

一个由执行某些操作的函数支持的缓存实现可以作为现有缓存实现的任何一种的代理。

4 答案

0

评论者:richhickey

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

0

评论者:fogus

感谢您的反馈 Rich。我相信我现在理解了这些微妙之处。

0

评论者:seancorfield

@fogus 这是否是 FnCache 的基础,这个FnCache似乎没有工厂,也没有文档/测试?这是“已废弃”的代码吗?

此外,似乎{{through}}填了一些这样的空缺,因为它提供了让函数在缓存未命中时运行的功能(尽管它仍然没有解决函数无法获取值的情况,对吧?)。

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