2012-09-25 29 views
2

我在这里错过了什么?我将:threshold设置为2,但它似乎用4代替。Clojure core.cache:阈值增加了一倍

使用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项版本[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/missdoc

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} 

。 etc ... This是我要走的。

回答