2011-10-25 17 views
5

Sorun, CacheBuilder kullanmak istediğimi söylüyor ancak değerlerim eşzamansız olarak çekiliyor. CacheMoader bir gereklilik olmadığı için bu daha önce MapMaker ile çalıştı. Şimdi bunu kesebilir miyim, yoksa kullanımdan kaldırılmış alternatifler olup olmadığını bilmek istiyorum. Teşekkür ederim.Birisi Guava's CacheLoader'ı eşzamansız olarak nasıl kullanıyor

+2

Soru, gerçekten her şeyi söylemez. Ne yaptığınızı ve önbelleğin sizin için neden çalışmadığını daha açık bir şekilde açıklayabilir misiniz? – ColinD

+1

"MapMaker" 'ı, "map.put" ile dolduracağınız bir bilgi işlem olmayan "ConcurrentMap" yapmak için kullandığınızı tahmin ediyorum. Guava 10.0.1'de bunu 'cache.asMap() kullanarak' Cache' ile yapabilirsiniz. ' – Ray

+0

@ColinD: Buradaki sorun, bir dizi veriyi asenkron olarak bir delik olarak önbelleği kurmak, bilgi işlem için delik seti gerektirir, talep üzerine önbellek kullanamıyorum. –

cevap

5

Sormaya çalıştığınız soruyu "Bir CacheLoader belirtmek zorunda kalmadan CacheBuilder'ı nasıl kullanabilirim?" Eğer durum buysa, Guava sürüm 11.0'da bunun için destek olacak. Bu arada CacheLoader üzerinde bir yapı() yöntemi zaten (bu sabah itibariyle) gövde içine kontrol edilir:

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html

+0

Evet, özellikle de verilerin geçerli bir kullanım durumu olduğunu düşündüğüm zaman uyumsuz olarak alınan bir işlemde. Girdiğin için teşekkürler. –

+0

Oh, eğer istediğiniz şey eşzamansız bir CacheLoader ise, o zaman bahsettiğimiz bir şey, ama yakında olmayacak ... – fry

1

bir yöntem istediğiniz çıkışları gibi genel parametreleri K ve V ile yapmak olacaktır:

İlgili konular