2

ここで何が欠けていますか?を2に設定していますが、:threshold代わりに4を使用しているようです。

バージョン[org.clojure/core.cache "0.6.2"]

user=> (require '[clojure.core.cache :as cache])
nil

user=> (def foo (cache/fifo-cache-factory {} :threshold 2))
#'user/foo

ドキュメントを使用するcache/miss

user=> (-> foo (cache/miss :1 1) (cache/miss :2 2) (cache/miss :3 3) (cache/miss :4 4))
{:4 4, :3 3, :2 2, :1 1}

user=> (-> foo (cache/miss :1 1) (cache/miss :2 2) (cache/miss :3 3) (cache/miss :4 4) (cache/miss :5 5))
{:5 5, :4 4, :3 3, :2 2}

を使用してassoc

user=> (-> foo (assoc :1 1) (assoc :2 2) (assoc :3 3) (assoc :4 4))
{:4 4, :3 3, :2 2, :1 1}

user=> (-> foo (assoc :1 1) (assoc :2 2) (assoc :3 3) (assoc :4 4) (assoc :5 5))
{:5 5, :4 4, :3 3, :2 2}

私が設定した場合:threshold 5、それは10アイテムを許可します。など... これは私がやろうとしていることです。

4

1 に答える 1

2

これは、このコミットで修正されたcore.cacheのバグのように見えます。

https://github.com/clojure/core.cache/commit/b705f56b3e8e6d1bab97e1411e264fed48bc3694

0.6.2を使用した場合と同じ動作が得られ、0.6.3-SNAPSHOT(https://oss.sonatype.org/content/repositories/snapshots/から入手可能)に切り替えたときに正しい結果が得られました。

于 2012-09-25T21:00:33.880 に答える