在計算機的硬體設計中,有一個被反複使用的思想——緩存。同樣,在軟體設計中,這個思想也可以用來解決資料讀取非常耗時帶來的性能問題(當然,在時間和空間上,我們要尋找一個平衡點)。
首先來看理想的緩存應該是怎麼描述的:
大緻就是給進去一個T,然後吐出來一個R。
run下看看:
其中,DoSomeThing是可以是一個讀取資料庫的操作,複雜的計算操作等等,在這裡,隻寫了個簡單的意思下:
接下來的函數就比較有意思了,試想下,如果dictionary的value值為一個字典類型資料呢?
run下看看:
對字典的字典進行緩存是不是有一點兒緩存依賴的意思?