欢迎!请查看 关于 页面了解更多关于此如何运作的信息。
在 https://cljdoc.org/d/org.clojure/core.cache/1.0.225/doc/using-core-cache 上的文档示例中没有提及需要在 core.cache 和 core.cache.wrapped 之间进行选择。更具体地说,在创建缓存时,示例导入了 core.cache 命名空间。然而,稍后当进行 lookup-or-miss 查找时,假设导入了 core.cache.wrapped。当尝试使用从 core.cache 工厂创建的缓存中的 wrapped/lookup-or-miss 时,会遇到相当模糊的异常。
class clojure.core.cache.LRUCache cannot be cast to class clojure.lang.IAtom
我认为在文档中提供更完整的示例可以减轻这个问题。
感谢您的反馈!由于我接管了 core.cache 的维护工作,我必须承认我并没有花很多时间在文档上。鉴于 2023 年 Clojurists Together 资助,我将留出一些时间去彻底改写这个库的文档。
core.cache
我们在工作中广泛使用 clojure.core.cache.wrapped,因为它比尝试使用 clojure.core.cache 并自己管理原子等更为方便。我需要提炼这些经验,并确保文档反映了这一点。
clojure.core.cache.wrapped
clojure.core.cache