温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-03-17 10:00:28 来源:亿速云 阅读:224 作者:小新 栏目:开发技术

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

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

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

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

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

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

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

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

参数解释:

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

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

例如:

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

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

calculating: 1 + 233  calculating: 2 + 35

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

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

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

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

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

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI