Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python自动备忘录_Python_Oop_Metaprogramming - Fatal编程技术网

Python自动备忘录

Python自动备忘录,python,oop,metaprogramming,Python,Oop,Metaprogramming,我有一个库,它将一些RESTAPI映射到一些对象模型。因此,使用API很容易。问题是,每当我获得某个对象的某些属性时,库就会向服务器发出实际请求。从性能的角度来看,这并不好 我想要的是添加记忆属性值一段时间(比如说5分钟)的功能,并且仅当数据过期时才发出实际请求 问题是,在不实际更改库代码的情况下,是否可以这样做?例如使用装饰器或类似的东西。你想使用一种叫做“记忆化”的技术;我的10秒谷歌搜索给了我另一个SO链接, 你需要一个超时处理程序- if (curr - prev) < five

我有一个库,它将一些RESTAPI映射到一些对象模型。因此,使用API很容易。问题是,每当我获得某个对象的某些属性时,库就会向服务器发出实际请求。从性能的角度来看,这并不好

我想要的是添加记忆属性值一段时间(比如说5分钟)的功能,并且仅当数据过期时才发出实际请求


问题是,在不实际更改库代码的情况下,是否可以这样做?例如使用装饰器或类似的东西。

你想使用一种叫做“记忆化”的技术;我的10秒谷歌搜索给了我另一个SO链接,

你需要一个超时处理程序-

if (curr - prev) < fiveMin
    # access Memo
else
    # start thread to get new data
if(curr-prev)<5分钟
#访问备忘录
其他的
#启动线程以获取新数据
HTH

可能重复的
if not k in factorial_memo:
if (curr - prev) < fiveMin
    # access Memo
else
    # start thread to get new data