Menguruskan Kekunci Tamat Tempoh dalam Peta Java
Sebagai pembangun Java, mengendalikan mekanisme tamat tempoh kunci selalunya boleh menjadi tugas yang menyusahkan. Ramai yang mencari penyelesaian mudah yang menghapuskan keperluan untuk pembersihan manual dan bergantung semata-mata pada pelaksanaan berasaskan kod. Untuk meringankan cabaran ini, adalah berbaloi untuk mendalami pustaka Google Collections (kini Guava).
Memperkenalkan MapMaker dan CacheBuilder
Guava menawarkan dua alatan berkuasa untuk mengurus berasaskan masa peta: MapMaker dan CacheBuilder. MapMaker membenarkan penyesuaian peta yang fleksibel, termasuk keupayaan untuk menetapkan masa tamat tempoh untuk entrinya. CacheBuilder, yang diperkenalkan dalam Guava 10.0, menyediakan antara muka yang dimodenkan untuk mengkonfigurasi mekanisme caching.
Menetapkan Tempoh Tamat Tempoh
Untuk mengkonfigurasi tempoh tamat tempoh untuk entri peta, anda boleh menggunakan yang berikut kaedah:
Contoh Pelaksanaan menggunakan 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); } });
Peningkatan dalam Jambu Batu 10.0Dalam Guava 10.0, kaedah MapMaker asal telah ditamatkan dan memihak kepada CacheBuilder. Contoh berikut menunjukkan penggunaan CacheBuilder:
Dengan memanfaatkan alatan ini, anda boleh menguruskan peta berasaskan masa dengan mudah di Java, memastikan pembersihan automatik kunci tamat tempoh dan mengoptimumkan kecekapan mekanisme pengendalian data anda.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); } });
Atas ialah kandungan terperinci Bagaimanakah Guava's MapMaker dan CacheBuilder Memudahkan Pengurusan Utama yang Tamat Tempoh dalam Peta Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!