Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Melaksanakan Peta/Cache Tamat Tempoh Berasaskan Masa di Java?

Barbara Streisand
Lepaskan: 2024-11-20 13:34:17
asal
356 orang telah melayarinya

How to Implement a Time-Based Expiring Map/Cache in Java?

Peta/Cache Berasaskan Masa Java dengan Kekunci Tamat Tempoh

Soalan ini mencari pelaksanaan Java yang tamat tempoh entri secara automatik berdasarkan tamat masa yang boleh dikonfigurasikan. Penyelesaian pilihan mengelakkan rujukan yang lemah, fail konfigurasi luaran dan pelaksanaan manual.

Jawapan

Pustaka Guava menyediakan penyelesaian dengan kelas MapMakernya:

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);
         }
       });
Salin selepas log masuk

Untuk Guava versi 10.0 dan ke atas, gunakan 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);
          }
        });
Salin selepas log masuk

Pelaksanaan ini menyediakan tamat tempoh kunci automatik, memastikan entri dialih keluar selepas tempoh yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Peta/Cache Tamat Tempoh Berasaskan Masa di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan