4

一致する適切なコレクションを見つける必要があります。

  • 1 人のライター、多数のリーダー (コレクションはスレッドセーフである必要があります)
  • 安価な繰り返し
  • レコードが挿入された順序を保持する必要があります
  • サイズ制限:
    • 固定サイズ - 新しいレコードが挿入されるたびにしきい値に達したら、最も古いレコードを削除する必要があります
    • または時間のしきい値 - 「5 時間以上経過していないレコードのみ」のようなものを保持する必要があります

この問題は新しいものではないと確信しており、おそらくキャッシュをこれらの目的に使用できますか?

4

1 に答える 1

3

Guava のキャッシュパッケージの使用を検討してください。を見るとCacheBuilder、指定した機能のほとんどが含まれています。保存の注文についてはわかりません(なぜそれが必要なのですか?)

基礎となるコレクション (完全なキャッシュの実装を探しているのか、それをサポートするコレクションを探しているのか、質問/タイトルからはわかりません) はおそらくConcurrentHashMapです。

于 2012-05-17T14:35:03.010 に答える