Tôi và tiện ích Zope với phương thức thực hiện quy trình mạng. Do kết quả của nó có giá trị trong một thời gian, tôi đang sử dụng plone.memoize.ram
để lưu trữ kết quả.Vô hiệu hóa/ngăn chặn ghi nhớ với plone.memoize.ram
MyClass(object):
@cache(cache_key)
def do_auth(self, adapter, data):
# performing expensive network process here
... và các chức năng bộ nhớ cache:
def cache_key(method, utility, data):
return time() // 60 * 60))
Nhưng tôi muốn để ngăn chặn sự memoization sẽ diễn ra khi cuộc gọi do_auth
trả về kết quả rỗng (hoặc tăng lỗi mạng).
Nhìn vào mã plone.memoize có vẻ như tôi cần raise ram.DontCache()
ngoại lệ, nhưng trước khi thực hiện việc này, tôi cần một cách để điều tra giá trị được lưu trong bộ nhớ cache cũ.
Làm cách nào để lấy dữ liệu được lưu trong bộ nhớ cache từ bộ nhớ cache?