缓存是一项从底层到高层都广泛应用的技术,无论是前端还是后端,有一定开发经验的程序员对缓存应该都不陌生。缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。
在Python开发过程中,有一些函数的结果可能会被反复调用,如果这个函数耗时较少还无伤大雅。
但是,如果一个函数耗时10分钟,或者频繁的发送rest请求,那么耗时就会呈现非线性上升。
那么,对于很多开发人员抱怨的Python,是否能够通过缓存来提升它的开发效率?
答案是肯定的!
本文就来介绍如果利用缓存这项技术,实现1行代码提升Python执行速度。
LRU
不同的编程语言,会有不同 的缓存策略,例如,通过哈希映射、优先级队列等实现缓存。因此,不同的编程语言,在缓存的解决方案方面具有很大差异,可能需要几分钟,也可能需要几小时。
但是,在Python中,标准工具包functools
实现了一种名为LRU(Least Recently Used)的缓存策略,可以通过传入参数,来设定缓存最近多少次的计算结果,如果传入参数为None
,那么则不缓存。
现在,为了让大家更加容易理解,先来举一个例子,
import