首页 > 编程语言 > 详细

python 内存缓存

时间:2020-04-15 16:40:22      阅读:73      评论:0      收藏:0      [点我收藏+]

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

python 内存缓存

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!