每个实例的Python LRU缓存装饰器

每个实例的Python LRU缓存装饰器,第1张

每个实例的Python LRU缓存装饰

假设您不想修改代码(例如,因为您只想移植到3.3并使用stdlib

functools.lru_cache
,或者使用
functools32
PyPI之外的方法,而不是将配方复制并粘贴到代码中),有一个显而易见的解决方案:为每个实例创建一个新的装饰实例方法。

class Test:    def cached_method(self, x):         return x + 5    def __init__(self):         self.cached_method = lru_cache(maxsize=16)(self.cached_method)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存