我有一个库,它将一些REST api映射到一些对象模型。因此,使用API很容易。问题是,每次我获得对象的一些属性时,库都会向服务器发出实际的请求。从性能的角度来看,这并不是很好。
我想要的是添加记忆一段时间(比如5分钟)属性值的功能,并且仅在数据过期时才发出实际请求。
问题是,有没有可能在不实际改变库的代码的情况下做到这一点?例如,使用装饰器或类似的东西。
发布于 2012-12-15 22:22:45
你想使用一种叫做“记忆”的技术;我的10秒谷歌搜索给了我另一个SO链接,What is memoization and how can I use it in Python?
factorial_memo = {}
def factorial(k):
if k < 2: return 1
if not k in factorial_memo:
factorial_memo[k] = k * factorial(k-1)
return factorial_memo[k]但是,您不检查队列中的成员资格。
if not k in factorial_memo:你需要一个超时处理程序-
if (curr - prev) < fiveMin
# access Memo
else
# start thread to get new dataHTH
https://stackoverflow.com/questions/13892929
复制相似问题