我需要一个需要防范并发资源的地图,ref 类型适合我的情况。
现在我需要一个“生存时间”策略来删除我的代码可能忘记删除的潜在条目。
我检查了clojure.core.cache但我不确定它是否安全,因为数据结构是用 ref 类型保护的。
我更喜欢纯 Clojure 解决方案,但如果事情变得复杂,你会建议另一种方法吗?例如谷歌番石榴?
我需要一个需要防范并发资源的地图,ref 类型适合我的情况。
现在我需要一个“生存时间”策略来删除我的代码可能忘记删除的潜在条目。
我检查了clojure.core.cache但我不确定它是否安全,因为数据结构是用 ref 类型保护的。
我更喜欢纯 Clojure 解决方案,但如果事情变得复杂,你会建议另一种方法吗?例如谷歌番石榴?
core.cache TTL 实现是不可变的,不会原地改变。并发保证是封闭引用类型的保证。然而值得注意的是,缓存旨在以某种方式(协议)使用,如core.cache wiki中所述。