我想提高函數的性能,以返回調整大小的圖像。所請求的圖像大小不應該有很大的變化(依賴於設備),所以以某種方式緩存結果是有意義的。Clojure - 在磁盤上記憶
我當然可以在電腦上保存的,並檢查調整後的圖像存在,並確保如果原始圖像被刪除,調整大小的版本太...
或者,我可以用一個memoized函數。但是由於結果可能相當大(我認爲圖像大約是5 - 10 MB),因此將它們存儲在內存中是沒有意義的(幾十GB圖像及其修改後的版本會很快填滿內存)。
那麼,有沒有一種方法可以獲得像常規Clojure defmemo
一樣的memoized函數,但是由本地磁盤而不是內存中的文件夾支持?然後,我可以使用ttl
策略來確保圖像不會長時間不同步。
與crache類似的東西,但由文件系統支持?
您可以將調整大小的圖像存儲在Redis或Memcached中,並具有一定的合理到期時間以自動清理未使用的記錄。 –
只是看着你的'crache'鏈接,它看起來非常適合你的任務。 –
@LeonidBeschastny好的crache由Redis支持,這是一個內存數據存儲。不幸的是,我沒有那麼多的RAM,這就是爲什麼我試圖避免這種情況並改爲使用文件系統。 – nha