0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Python中实现更简单好用的函数运算缓存

电子工程师 来源:Python大数据分析 作者:Python大数据分析 2022-08-05 11:05 次阅读

我们即将学习的是:在Python中实现更简单好用的函数运算缓存。 函数运算缓存,顾名思义就是我们可以针对指定的函数,让其记住过往参数输入和返回结果,使得后续接收到相同的参数时跳过函数运算,直接返回已缓存的结果值。 很多朋友应该知道Python标准库里functools.lru_cache可以做函数运算缓存,但是它的功能实在是太简陋了,像过期时间设置之类的功能都没有。 而我们可以使用第三方库cachier来代替,它的基本使用方式非常简单,使用pip install cachier完成安装后,我们来看一个简单的示例: 这里我们定义一个具有一定运算耗时的函数,利用cachier.cachier()装饰,并利用参数stale_after设置缓存到期时间为10秒:

importtime
fromcachierimportcachier
fromdatetimeimporttimedelta

@cachier(stale_after=timedelta(seconds=10))
defdemo(x:int,y:int):

time.sleep(2)

returnx*y

foriinrange(10):
print('-'*50)
print(f'第{i+1}次执行')
start=time.time()
demo(1,1)
print(f'耗时{round(time.time()-start,2)}秒')

time.sleep(2)
过程打印记录如下: 16fc5746-146a-11ed-ba43-dac502259ad0.png 可以观察到,我们的函数按照设定好的过期时间进行着缓存。除此之外,cachier还有很多其他实用特性,譬如基于mongodb实现分布式存储等,你可以前往其官方仓库查看详细文档说明:https://github.com/shaypal5/cachier 
审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4296

    浏览量

    85798
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62569
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84627

原文标题:Python 中更好用的函数运算缓存

文章出处:【微信号:AI科技大本营,微信公众号:AI科技大本营】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Python常用自增运算写法

    运算符不起作用,相应的- -运算Python也是不起作用的,既然如此,那么如何实现
    发表于 04-09 17:45

    请问Python如何实现vlookup函数的功能?

    vlookup函数功能非常强大,那Python如何实现
    发表于 11-06 06:11

    如何使用LUA脚本串口屏实现简单的逻辑运算以及字符处理

    物联型串口屏通过 LUA 脚本配合工程可以完成大部分的内部逻辑处理,可以做到让 MCU 只参与数据处理,不参与屏的逻辑处理。本文将介绍如何使用 LUA 脚本串口屏实现简单的逻辑
    发表于 10-17 08:00 17次下载
    如何使用LUA脚本<b class='flag-5'>在</b>串口屏<b class='flag-5'>中</b><b class='flag-5'>实现</b><b class='flag-5'>简单</b>的逻辑<b class='flag-5'>运算</b>以及字符处理

    python函数概念理解

    函数是可以实现一些特定功能的小方法或是小程序。Python中有很多内建函数,当然随着学习的深入,我们可以学会创建对自己有用的
    的头像 发表于 01-18 17:37 2312次阅读

    python运算符是什么

    python运算符 0. 什么是运算符? 本章节主要说明Python运算符。举个简单的例子 4
    的头像 发表于 02-21 16:44 2377次阅读

    抽样Python是如何实现

    今天来和大家聊聊抽样的几种常用方法,以及Python是如何实现的。
    的头像 发表于 08-05 10:59 1206次阅读

    推荐一个Python超级好用的内置函数lambda

    Python当中,我们经常使用lambda关键字来声明一个匿名函数,所谓地匿名函数,通俗地来讲就是没有名字的函数
    的头像 发表于 09-13 18:09 1006次阅读
    推荐一个<b class='flag-5'>Python</b>超级<b class='flag-5'>好用</b>的内置<b class='flag-5'>函数</b>lambda

    Python入门之什么是函数

    Python函数比我们想象的更为灵活。由于Python函数是对象,所以函数对象可以赋值给其他的名字、传递给其他
    的头像 发表于 02-21 14:24 496次阅读

    Python支持递归函数

    Python支持递归函数——即直接或间接地调用自身以进行循环的函数。递归是颇为高级的话题,并且它在Python相对少见。然而,它是一项应该
    的头像 发表于 02-21 14:28 642次阅读

    python函数返回多个参数

    Python,可以使用关键字 return 来返回一个或多个值。函数定义的末尾,可以使用 return 语句来指定
    的头像 发表于 11-21 16:37 1261次阅读

    复数iPython如何定义

    复数的虚数单位'i'Python可以通过使用cmath模块来定义和使用。cmath模块提供了处理复数的函数和常量。
    的头像 发表于 11-22 09:40 2967次阅读

    python调用math函数的方法

    Python编程,数学函数是非常重要的工具,我们可以使用它们进行各种数值计算、几何运算和统计分析等操作。
    的头像 发表于 11-22 11:01 2953次阅读

    python如何引入math库

    Python,要使用math库,首先需要先引入它。math库是Python的一个标准库,它提供了许多数学函数和常数。通过使用math库,
    的头像 发表于 11-22 11:03 4244次阅读

    splitpython的用法

    splitpython的用法 split()是Python中一个非常常用的字符串函数,它能够根据指定的分隔符将一个字符串分割成多个子字符
    的头像 发表于 12-25 15:12 2018次阅读

    逻辑异或运算Python的用法

    Python的 ^ 符号实际上是一个按位异或运算符,用于对整数的二进制表示进行异或操作。 尽管如此,我们仍然可以通过一些方法来实现逻辑异或的功能,即当两个布尔值不同时为真,相同时为
    的头像 发表于 11-19 09:46 164次阅读