2011-11-14 18 views
6

Şu anda GAE/J üzerinde çalışan bir uygulamaya memcache eklemeye çalışıyorum. Anahtarlar da kaldırılırsa değerlerin süresi dolduğunda üretim memcache'nin nasıl davranacağı hakkında bir sorum var.Memcache verileri sona erdiğinde anahtarlar kaldırıldı mı?

Bu soruya cevap bulabildiğim en yakın buradadır: Ben memcache kalan değerler güvenemez biliyorum http://code.google.com/appengine/docs/java/memcache/overview.html#How_Cached_Data_Expires

; ve bilmiyorum ama merak ettiğim şey, bu değerlere eşlenen anahtarların da kaldırılmasıdır. Başka bir deyişle

, bir değer önbellek dışarı itilir sonra

mycache.contains("key")

bu hala geçerli olacak yaparsam?

Yan not: Fark yarattığını düşünmeyin; ancak her ihtimale karşı, ben memcache hizmetinden zaman uyumsuz memcache kullanarak ve böyle bunun bir tutmak ediyorum: Ben tipik

yapmıyorum çünkü

MemcacheServiceFactory.getAsyncMemcacheService();

Bunu soruyorum

Veri deposundan geri döndüklerinde boş değerleri saklıyorum, bu nedenle boş değerde sürekli arama yapmıyorum. Ve değişebileceği zaman anahtarı çıkardığınızdan emin olun. Bu nedenle, yalnızca memcache araması null değerini döndürdüğü için, sorgunun aslında boş olduğu varsayımı üzerinde çalışıyorum; Ancak, null aramanın kaldırılmasının gerçekleşebileceği diğer sorguların ne zaman gerçekleşeceğini garanti ederim. değeri memcache hizmet tahliye olsaydı return false erecek varsayım doğrudur cache.get("key") == null

+0

Anahtarlar ve değerler ayrılmaz; Olursa bir anlam ifade etmeyecek. –

cevap

11

, mycache.contains("key") aksine ben cache.contains("key") kullanıyorum nedeni budur. Bu davranış, low-level Memcache API'un Javadoc'unda belgelenmiştir.

İlgili konular