Ağ işlemlerini gerçekleştiren bir yöntemle Zope yardımcı programını kullanıyorum. Bir süre geçerli olduğundan, sonucu önbelleğe almak için plone.memoize.ram
kullanıyorum. Notları plone.memoize.ram ile geçersiz kılma/önleme
MyClass(object):
@cache(cache_key)
def do_auth(self, adapter, data):
# performing expensive network process here
... ve önbellek fonksiyonu:
def cache_key(method, utility, data):
return time() // 60 * 60))
Ama do_auth
çağrı boş sonuçları döndüğünde gerçekleşecek (veya ağ hataları yükseltmek) için Memoization engellemek istiyorlar.
plone.memoize koduna baktığımda, raise ram.DontCache()
istisnasına ihtiyacım var gibi görünüyor, ancak bunu yapmadan önce eski önbelleğe alınmış değeri araştırmanın bir yoluna ihtiyacım var.
Önbelleğe alınmış verileri önbellek deposundan nasıl alabilirim?