Python 的 lru_cache 缓存优化怎么用?
functools.lru_cache(maxsize=128):装饰器,自动缓存函数结果(LRU 淘汰),key 为参数(必须可哈希)。用法:@lru_cache(maxsize=None) def fib(n): ...(无上限);查看 cache_info()(命中率)、cache_clear() 清空。应用:递归优化(斐波那契从指数级降线性)、昂贵计算/IO 结果缓存、动态规划。注意:① 参数需可哈希(list 不行,转 tuple);② 有副作用/依赖外部可变状态的函数不要缓存;③ 内存敏感设 maxsize;④ 3.9+ 可加 typed=True(区分 1 和 1.0)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。