欢迎光临
我们一直在努力

python如何使用内置的缓存机制来提高效率

这篇文章主要为大家展示了“python如何使用内置的缓存机制来提高效率”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用内置的缓存机制来提高效率”这篇文章吧。

 使用内置的缓存机制来提高效率

缓存是一种存储定量数据以满足后续采集需求的方法,旨在加快数据采集的速度。

数据生成过程可能需要诸如计算,正则化和远程获取之类的操作。 如果同一数据需要多次使用,则每次重新生成都将浪费时间。

因此,如果将通过诸如计算或远程请求之类的操作获得的数据进行缓存,则将加速后续的数据获取需求。

为了达到这个要求,Python 3.2+为我们提供了一种易于实现的机制,而无需您编写这样的逻辑代码。

该机制是在functool模块的lru_cache装饰器中实现的。

参数解释:

  • maxsize:此函数调用最多可以缓存多少个结果,如果为None则没有限制,设置为2的幂时,性能最佳

  • 类型:如果为True,则将分别缓存不同参数类型的调用。

例如:

输出如下,您可以看到第二个调用不执行函数主体,而是直接将结果返回到缓存中:

calculating: 1 + 233  calculating: 2 + 35

以下是经典的斐波那契数列,当您指定较大的n时,会有很多重复的计算

现在可以将第6点中介绍的timeit用于测试可以提高多少效率。

如果不使用lru_cache,则运行时间为31秒:

使用lru_cache后,运行速度过快,因此我将n的值从30调整为500,但是即使这样,运行时间也只有0.0004秒。 速度的提高非常显着。

以上是“python如何使用内置的缓存机制来提高效率”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云搜网行业资讯频道!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。