千家信息网

python如何使用装饰器缓存函数调用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关python如何使用装饰器缓存函数调用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用装饰器缓存函数调用你是否曾经编写过一种函数,它执行昂贵的
千家信息网最后更新 2026年11月02日python如何使用装饰器缓存函数调用

这篇文章给大家分享的是有关python如何使用装饰器缓存函数调用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

使用装饰器缓存函数调用

你是否曾经编写过一种函数,它执行昂贵的 I/O 操作或一些相当慢的递归,而且该函数可能会受益于对其结果进行缓存(存储)?如果你有,那么有简单的解决方案,即使用 functools 的lru_cache :

from functools import lru_cache import requests  @lru_cache(maxsize=32) def get_with_cache(url):     try:         r = requests.get(url)         return r.text     except:         return "Not Found"   for url in ["https://google.com/",             "https://martinheinz.dev/",             "https://reddit.com/",             "https://google.com/",             "https://dev.to/martinheinz",             "https://google.com/"]:     get_with_cache(url)  print(get_with_cache.cache_info()) # CacheInfo(hits=2, misses=4, maxsize=32, currsize=4)

在此例中,我们用了可缓存的 GET 请求(最多 32 个缓存结果)。你还可以看到,我们可以使用 cache_info 方法检查函数的缓存信息。装饰器还提供了 clear_cache 方法,用于使缓存结果无效。

我还想指出,此函数不应与具有副作用的函数一起使用,或与每次调用都创建可变对象的函数一起使用。

感谢各位的阅读!关于"python如何使用装饰器缓存函数调用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

函数 缓存 结果 内容 方法 更多 篇文章 不错 实用 昂贵 信息 副作用 对象 文章 方案 看吧 知识 解决方案 递归 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 互联网 科技公司 互联网络科技有限公司 互联网科技logo设计 米客互联网科技 天下捷融互联网科技 科技类的互联网平台 恒银科技与互联网金融 互联网媒体平台算高科技产业 哈尔滨屹滨互联网科技有限公司 中国科技创新与世界互联网大会 互联网科技创新的路径 山东有哪些互联网科技公司 合肥互联网科技公司公章图片 上海科技产业互联网平台 元气玛特互联网科技公司是外包吗 上海钢联属于互联网科技股吗 富国互联网科技002692 工业互联网科技成果转化 宁波允成互联网科技有限公司 华服互联网科技靠谱吗 南京欣网互联网络科技有限公司 互联网科技社 腾讯阿里互联网科技 广州互联网络科技有限公司 云创客互联网科技公司 呼和浩特新华互联网科技学院 开一家科技互联网公司需要多少钱 恒生互联网科技业指数调整周期 济南小医互联网科技有限公司招聘
0