Java で時間ベースの有効期限マップを作成するには?

Barbara Streisand
リリース: 2024-11-27 14:35:12
オリジナル
204 人が閲覧しました

How to Create a Time-Based Expiring Map in Java?

期限切れキーを含む Java 時間ベースのマップ/キャッシュ

Q: 自動的に指定された間隔の後にエントリを削除しますか?

A: はい、Google コレクション (現在は Guava として知られています) は、必要な機能を備えた 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 では、上記の MapMaker メソッドは非推奨になり、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);
          }
        });
ログイン後にコピー

この CacheBuilder は、キャッシュ動作を管理するためのさらなる柔軟性とより最新の API を提供します。

以上がJava で時間ベースの有効期限マップを作成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート