私はマップに情報をキャッシュしたいので、たとえばDBにアクセスする必要はありません。 Javaでは、私はGoogleコレクションの優れたMapMakerを使用し、必要に応じてキャッシュを新鮮に保つために有効期限を設定し、メモリ使用量を抑えるためにsoftValuesを設定します。それから私は現在キャッシュされていないキーの値を計算する関数を持っています。有効期限とソフト値を持つマップベースのキャッシュ
MapMaker().softValues
.expireAfterWrite(10, TimeUnit.MINUTES)
.makeComputingMap(Function(...));
スカラーでこれを行うにはどうすればよいですか?
を、なぜScalaではそれが違うのですか?私はスカラーに特化したライブラリは認識していません。 –
私はより慣用的な答えを期待していました。 Google Guavaは優れていますが、私はScalaのコレクションライブラリがあたかもそのままの状態で書かれている場合、依存関係を含める必要はありません。 –
そして、ちょうど 'MapMaker()。softValues'は廃止されました。(http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/MapMaker.html#softValues() )、代わりに 'CacheBuilder.softValues()'を使ってください。 – sbeliakov