प्रविष्टियां इस कैश कचरा एक बार एकत्र कर रहे हैं है पर किसी भी संदर्भ नहीं मिले किया अब मैं मॉड्यूल मॉड्यूल का उपयोग नहीं कर रहा हूं?
नहीं require()
के साथ लोड मॉड्यूल अनिश्चित काल तक कैश किए गए हैं चाहे आप उनका उपयोग कर रहे हों या नहीं।
मॉड्यूल द्वारा उपयोग किए जाने वाले जावास्क्रिप्ट चर/ऑब्जेक्ट्स के लिए मेमोरी कचरा संग्रह के सभी सामान्य नियमों के अधीन एकत्रित कचरा है (जब कोई लाइव कोड नहीं है जिसमें अभी भी चर/ऑब्जेक्ट का संदर्भ है)। लेकिन, मॉड्यूल कैश लोड किए गए मॉड्यूल के लिए एक संदर्भ रखता है ताकि कोड या किसी भी मॉड्यूल स्तर चर कचरे से एकत्र न हों जब तक कि मॉड्यूल को कैश से मैन्युअल रूप से हटाया न जाए।
विषय पर link to the node.js doc है।
कैशिंग
मॉड्यूल पहली बार वे लोड किए गए हैं के बाद कैश नहीं किया जाता। यह का अर्थ है (अन्य चीजों के साथ) कि प्रत्येक कॉल की आवश्यकता है ('foo') ठीक उसी वस्तु को वापस कर देगा, अगर यह उसी फ़ाइल को हल करेगा।
आप मैन्युअल रूप से कैश से एक मॉड्यूल को निकालना चाहते हैं, कि यहाँ वर्णित है:
unloading code/modules
हालांकि, इस तरह से दिए गए, सभी मॉड्यूल-स्तर चर कचरा एकत्र हो सकेंगे node.js संरचित है मुझे नहीं लगता कि यह वास्तव में स्मृति से कोड को उतार देगा।