Java マップでの有効期限切れキーの管理
Java 開発者として、キーの有効期限切れメカニズムの処理は面倒な作業になることがよくあります。多くの人は、手動によるパージの必要性を排除し、コードベースの実装のみに依存する簡単なソリューションを求めています。この課題を軽減するには、Google コレクション ライブラリ (現在は Guava) を詳しく調べる価値があります。
MapMaker と CacheBuilder の紹介
Guava は、時間ベースの管理のための 2 つの強力なツールを提供します。マップ: MapMaker と CacheBuilder。 MapMaker では、エントリの有効期限を設定する機能など、マップを柔軟にカスタマイズできます。 Guava 10.0 で導入された CacheBuilder は、キャッシュ メカニズムを構成するための最新のインターフェイスを提供します。
有効期限の設定
マップ エントリの有効期限を構成するには、次のコマンドを使用できます。メソッド:
MapMakerを使用した実装例
ConcurrentMap<Key, Graph> graphs = new MapMaker() .concurrencyLevel(4) .softKeys() .weakValues() .maximumSize(10000) .expiration(10, TimeUnit.MINUTES) .makeComputingMap( new Function<Key, Graph>() { public Graph apply(Key key) { return createExpensiveGraph(key); } });
Guava 10.0の機能強化
Guava 10.0 では、元の MapMaker メソッドは非推奨となり、CacheBuilder が使用されます。次の例は、CacheBuilder の使用法を示しています。
LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() .maximumSize(10000) .expireAfterWrite(10, TimeUnit.MINUTES) .build( new CacheLoader<Key, Graph>() { public Graph load(Key key) throws AnyException { return createExpensiveGraph(key); } });
これらのツールを活用すると、Java で時間ベースのマップを簡単に管理でき、期限切れのキーが自動的に削除され、データ処理メカニズムの効率が最適化されます。
以上がGuava の MapMaker と CacheBuilder は Java マップでの有効期限切れのキー管理をどのように簡素化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。