LRU是一种常见的缓存算法,Python中的functools模块提供了一个装饰器lru_cache,可以给函数添加LRU缓存功能
如上,fibonacci_cached函数被装饰器lru_cache修饰。当调用fibonacci_cached函数时,如果参数和之前的调用一样,就会直接返回缓存的结果,而不是重新计算。这样可以大幅度提高效率。
使用场景
无序列表不可在非确定函数中使用缓存
当函数中存在任何非确定性内容时,不可使用缓存。如函数datetime.now() 来获取当前的时间戳。若使用缓存,可能...