4

ベクターのように動作するキャッシュを探しています。私はcore.cacheを使用してきましたが、それらはマップです。シンプルな fifo エビクション メソッドが必要です。プロトコルを使用して独自のものを簡単に作成できることはCacheProtocolわかっていますが、このようなものが既に存在するかどうか、またはこれが悪い考えである理由があるかどうかを知りたかったのです。

4

1 に答える 1

2

キャッシュへのベクトルのようなインターフェイスだけが必要な場合は、値へのインデックスのキャッシュがニーズに合う可能性があります。ベクトルは概念的に数値から値へのマップに非常に似ているため、数値をキャッシュのキーとして使用すると多くのユースケースが満たされる可能性がありますが、特定の問題について少し推測しています。

user> (def C (cache/fifo-cache-factory {0 1 1 0}))
user> (get C 0)
1

それだけでは不十分な場合は、キャッシュの現在の内容を次のようなベクター形式で確認できます。

user> (vec (map #(get C % nil) (range 11)))
[1 0 nil nil nil nil nil nil nil nil nil]

ほとんどの場合、インデックスとして数値を使用すると、多くの人にとって仕事をする可能性があります

于 2012-09-24T22:10:39.847 に答える