python lru
时间: 2023-10-29 22:00:19 浏览: 109
基于python的LRU算法设计与实现
LRU(Least Recently Used)是一种常见的缓存淘汰算法,用于在缓存空间不足时选择要被替换的数据项。
在Python中,可以使用`functools`模块中的`lru_cache`装饰器来实现LRU缓存。`lru_cache`会自动缓存函数的结果,并在缓存空间不足时,淘汰最近最少使用的结果。
以下是一个简单的示例代码:
```python
from functools import lru_cache
@lru_cache(maxsize=128)
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
# 调用函数
print(fibonacci(10))
```
在上面的代码中,`fibonacci`函数使用了`lru_cache`装饰器,并指定了缓存的最大大小为128。每次调用`fibonacci`函数时,如果参数已经存在于缓存中,则直接返回缓存中的结果;否则,计算结果并将其添加到缓存中。
这样,对于相同的输入,函数会直接返回缓存中的结果,而不需要重复计算,从而提高了性能。
阅读全文