【Python系列】Python 缓存机制
在Python中,可以使用functools
模块中的lru_cache
装饰器来实现简单的缓存机制。lru_cache
是一个内置的装饰器,用于最近最少使用(LRU)缓存。
以下是一个使用lru_cache
的示例:
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(40)) # 计算第40个斐波那契数,并缓存结果
print(fibonacci(40)) # 再次计算时将使用缓存的结果
在这个例子中,fibonacci
函数用于计算斐波那契数列的第n个数。我们使用lru_cache
装饰器来缓存计算过的斐波那契数,以便当再次请求相同的输入时,函数可以直接返回缓存的结果,从而提高性能。maxsize
参数设置缓存的最大容量,超过这个值会按照最近最少使用的原则移除旧的缓存项。
评论已关闭