函數(shù)緩存允許我們將一個(gè)函數(shù)對(duì)于給定參數(shù)的返回值緩存起來(lái)。
當(dāng)一個(gè)I/O密集的函數(shù)被頻繁使用相同的參數(shù)調(diào)用的時(shí)候,函數(shù)緩存可以節(jié)約時(shí)間。
在Python 3.2版本以前我們只有寫(xiě)一個(gè)自定義的實(shí)現(xiàn)。在Python 3.2以后版本,有個(gè)lru_cache
的裝飾器,允許我們將一個(gè)函數(shù)的返回值快速地緩存或取消緩存。
我們來(lái)看看,Python 3.2前后的版本分別如何使用它。