0
我剛剛啓動了一個Python包,用於直接從經濟分析局(BEA)數據API訪問數據。我有兩個高級抽象:Request
和Results
。 Request
對象繼承自dict
並使用請求庫來訪問數據。如何在字典更改時刷新緩存的值?
import requests
class Request(dict):
_response = None
base_url = 'http://www.bea.gov/api/data'
def __init__(self, UserID, Method, ResultFormat='JSON', **params):
required_params = {'UserID': UserID,
'Method': Method,
'ResultFormat': ResultFormat}
required_params.update(params)
super(Request, self).__init__(**required_params)
@property
def response(self):
if self._response is None:
self._response = requests.get(url=self.base_url, params=self)
return self._response
因爲下載數據可能很耗時我正在緩存響應屬性。我目前的實現永遠不會刷新緩存。如果字典的任何值發生更改或添加/刪除,我想刷新緩存。思考?