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); } });
Dengan MapMaker, anda boleh menentukan pelbagai parameter:
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); } });
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!