python3内存缓存_python 内存缓存

python标准库中的functools模块,提供了functools.lru_cache,基于内存的缓存。

from functools import lru_cache

@lru_cache(maxsize=1)

def sum2(a,b):

print(f"计算{a}+{b} ... ")

return a+b

print(sum2(2,3))

print(sum2(2,3))

print(sum2(4,7))

print(sum2(4,7))

print(sum2(2,3))

print(sum2(4,7))

maxsize=1,表示可以缓存的元素的个数。

改变maxsize的值为2,再切换为1,运行程序观察输出结果,

sum2.cache_info() #查看缓存性能

sum2.cache_clear() #清除缓存

基于磁盘的缓存

"""

教程 https://joblib.readthedocs.io/en/latest/memory.html

安装 pip install joblib

"""

from joblib import Memory

memory = Memory(location="./cachedir")

@memory.cache

def sum2(a,b):

print(f"计算{a}+{b} ... ")

return a+b

print(sum2(2,3))

print(sum2(2,3))

print(sum2(4,7))

print(sum2(4,7))

print(sum2(2,3))

print(sum2(4,7))

————————————————

版权声明:本文为CSDN博主「_Tsun」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/sunt2018/java/article/details/97235224

原文:https://www.cnblogs.com/hanzeng1993/p/12706185.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值