Ive e utilità Zope con un metodo che esegue i processi di rete. Poiché il risultato è valido per un po ', sto usando plone.memoize.ram
per memorizzare il risultato nella cache.Invalidate/prevent memoize con plone.memoize.ram
MyClass(object):
@cache(cache_key)
def do_auth(self, adapter, data):
# performing expensive network process here
... e la funzione di cache:
def cache_key(method, utility, data):
return time() // 60 * 60))
Ma voglio evitare che il Memoizzazione avvenire quando la chiamata do_auth
restituisce i risultati vuoti (o rilanciare errori di rete).
Guardando il codice plone.memoize sembra necessario l'errore raise ram.DontCache()
, ma prima di farlo ho bisogno di un modo per indagare sul vecchio valore memorizzato nella cache.
Come posso ottenere i dati memorizzati nella cache dalla memoria cache?