Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mencipta Cache Tamat Tempoh Berasaskan Masa di Jawa menggunakan Jambu Batu?

Patricia Arquette
Lepaskan: 2024-11-21 07:02:16
asal
341 orang telah melayarinya

How to Create a Time-Based Expiring Cache in Java using Guava?

Peta/Cache Berasaskan Masa Java dengan Kekunci Tamat Tempoh

Di Java, mengendalikan caching berasaskan masa boleh menjadi satu cabaran. Kekunci mungkin tamat tempoh selepas tempoh tertentu dan pembersihan entri yang telah tamat tempoh ini secara automatik mungkin menjadi perlu.

Satu penyelesaian kepada masalah ini ialah memanfaatkan kuasa Koleksi Google, yang kini dikenali sebagai Jambu Batu. Kelas MapMaker Guava menyediakan mekanisme yang mudah untuk mencipta peta dengan kekunci tamat tempoh.

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

Dengan MapMaker, anda boleh menentukan pelbagai parameter:

  • concurrencyLevel: Mengawal keselarian dalam peta.
  • softKeys: Menunjukkan bahawa kunci harus dipegang dengan lemah, membolehkan pemungut sampah menuntutnya semula apabila boleh.
  • weakValues: Sama seperti softKeys, tetapi untuk nilai.
  • maximumSize: Menentukan bilangan maksimum entri dalam peta.
  • tamat tempoh: Menetapkan tempoh tamat tempoh untuk entri.

Sejak itu jambu batu telah menamatkan beberapa kaedah MapMaker ini dan memihak kepada 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

CacheBuilder menawarkan API yang lebih ringkas dan dikemas kini untuk mengurus caching berasaskan masa dalam Java.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Cache Tamat Tempoh Berasaskan Masa di Jawa menggunakan Jambu Batu?. 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