Liking cljdoc? Tell your friends :D
Clojure only.

im.ttalk.agent.provider.common.memo

轻量有界缓存工具。

与 clojure.core/memoize 的区别:容量有界(超限整体清空重建), 不会随参数多样性无限增长——适合做库代码里的转换缓存。

轻量有界缓存工具。

与 clojure.core/memoize 的区别:容量有界(超限整体清空重建),
不会随参数多样性无限增长——适合做库代码里的转换缓存。
raw docstring

boundedclj

(bounded f cap)

把单参纯函数 f 包装为带有界缓存的版本。

按参数 = 缓存结果;缓存条目数达到 cap 时整体清空(简单粗暴但无泄漏)。 适合「参数在稳定生命周期内反复出现」的转换——典型如 chat-client 常驻的 tools 列表在 ReAct 循环每轮 LLM 调用时重复做 wire 转换。

注意:f 须为纯函数且返回非 nil(nil 会被视作未命中重算,仍正确但无缓存收益)。 并发下可能偶发重复计算(swap! 竞态),结果一致、无害。

把单参纯函数 f 包装为带有界缓存的版本。

按参数 `=` 缓存结果;缓存条目数达到 cap 时整体清空(简单粗暴但无泄漏)。
适合「参数在稳定生命周期内反复出现」的转换——典型如 chat-client 常驻的
tools 列表在 ReAct 循环每轮 LLM 调用时重复做 wire 转换。

注意:f 须为纯函数且返回非 nil(nil 会被视作未命中重算,仍正确但无缓存收益)。
并发下可能偶发重复计算(swap! 竞态),结果一致、无害。
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close