我正在使用clojure.core.memoize(使用clojure.core.cache)。我想使用TTL 缓存,但也希望对总缓存大小设置上限(因为我可以为 FIFO 缓存提供)。
我知道有各种各样的缓存组合了队列、TTL 等。我不一定想要那种奇特的东西,只是一种限制集合大小的简单方法?
所有 memoize 函数clojure.core.memoize似乎都采用了一个可选的基本缓存,可用于组合不同的缓存策略:
(require '[clojure.core [memoize :as memo] [cache :as cache]])
(def memoized-identity
(memo/fifo
identity
(cache/ttl-cache-factory {} :ttl 5000)
:fifo/threshold 32))
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅关于可组合性core.cache的wiki 条目。
| 归档时间: |
|
| 查看次数: |
898 次 |
| 最近记录: |