我來自Java世界,並且有很多(本地)內存中緩存的實現。而且在Java世界中有SoftReference和WeakReference,根據定義,它們是緩存實現的理想選擇。NodeJS具有內存壓力感知的內存緩存
我知道JavaScript沒有類似的東西,所以我想知道是否有可能具有某種緩存功能,如果存在「低內存壓力」,它將刪除/釋放(所有)緩存對象。到目前爲止,我知道lru-cache模塊,但是它的實現保存了一些數目/大小的對象,這很好,但還不夠好,因爲如果沒有足夠的內存,自然而然地,您會希望緩存釋放對象。
當進程內存不足時,甚至可以從系統中獲取NodeJS中的某個事件嗎?
或者一些庫,可能引發事件,像:
var cmmm = require('cool_memory_management_module');
cmmm.on('low_memory', function(){
//signaling to clear cache entries
});
到目前爲止,我發現npm memwatch,並且npm usage模塊,但仍無法將所有這些片段組合在一起。
,我發現這些:http://nodejs.org/api/process.html#process_process_memoryusage,http://nodejs.org/api/os.html#os_os_freemem。我不知道流程和內存如何關聯以便能夠判斷這些功能是否是您需要的功能。 –
thx @Andreas,我見過這些,但是它們還不足以滿足'低內存事件'的實現,並且os.freemem()在應用程序過程中沒有用處,因爲這不是你可以使用的內存,你的環境...... – Tomo