Key_zone = myCache: 8m का क्या अर्थ है?
के रूप में प्रलेखन कहा , nginx रखेंगे के बारे में डेटा जमा हो जाती है सभी सक्रिय कुंजी और जानकारी एक साझा स्मृति क्षेत्र, जिसका में name
और size
keys_zone पैरामीटर द्वारा कॉन्फ़िगर किए गए हैं। पूर्णता के रूप में, प्रति भाग को तोड़ने की सुविधा देता है
/var/cache/nginx
वह स्थान है जहां वास्तविक कैश संग्रहीत किया जाता है। फ़ोल्डर के अंदर, कैश फ़ाइल बाइनरी फ़ाइल थी लेकिन आप आसानी से इसके अंदर HTML टैग को देख सकते हैं।
levels=1:2
स्तर पैरामीटर कैश में उपनिर्देशिका स्तर की संख्या निर्धारित करता है।
keys_zone=myCache:8m
अधिकतम आकार 8 एमबी के साथ myCache नामक साझा मेमोरी ज़ोन को परिभाषित कर रहा था। यह कैश की सभी सक्रिय कुंजी और मेटाडेटा रखता है । इसलिए, जब भी nginx जाँचता है कि अगर कोई पृष्ठ कैश किया गया था, तो यह साझा मेमोरी ज़ोन को पहले सुरक्षित करता है, फिर /var/cache/nginx
कैश मौजूद होने पर वास्तविक कैश के स्थान की तलाश करें ।
max_size
कैश का अधिकतम आकार था जैसे फ़ाइलों का आकार /var/cache/nginx
।
inactive=1h
निर्दिष्ट अधिकतम निष्क्रिय समय कैश संग्रहीत किया जा सकता है। कैश्ड डेटा जो inactive
पैरामीटर द्वारा निर्दिष्ट समय के दौरान एक्सेस नहीं किए जाते हैं, उनकी ताजगी की परवाह किए बिना कैश से हटा दिए जाते हैं।
कैश सत्यापन और विलोपन कैसे काम करता है
नगीने मेलिंग सूचियों से लिया गया
निर्देश छद्म_चेचे_वलिद निर्दिष्ट करता है कि कब तक प्रतिक्रिया को वैध माना जाएगा (और बैकएंड के किसी भी अनुरोध के बिना वापस कर दिया जाएगा)। इस समय के बाद प्रतिक्रिया को "बासी" माना जाएगा और या तो वापस नहीं किया जाएगा या प्रॉक्सी_cache_use_stale सेटिंग पर निर्भर करेगा ।
प्रॉक्सी_cache_path का तर्क निष्क्रिय निर्दिष्ट करता है कि अंतिम उपयोग के बाद कैश में कब तक संग्रहीत किया जाएगा। ध्यान दें कि बासी प्रतिक्रियाओं को भी हाल ही में उपयोग करने पर विचार किया जाएगा यदि उनके लिए अनुरोध हैं।
जैसा कि मैं समझता हूं, यहां छद्म कोड कैसे काम करता है
जब अनुरोध आ रहा है
if cache.exist AND (now() - cache.first_retrieved) < proxy_cache_valid:
use it
else:
retrieve from backend
replace the old ones
अन्य प्रक्रिया में, कैश प्रबंधक यह तर्क करता है
if (now() - cache.last_used) > inactive:
del cache
if all-cache.size > max-size:
del *the most inactive cache* until size < max-size
क्या होगा अगर प्रॉक्सी_कैचे_वालिड (12h) प्रॉक्सी_केचे_पथ में निर्दिष्ट निष्क्रिय मूल्य (1h) से अधिक है?
जब तक अनुरोध और विशेष कैश तक पहुँचा, तब तक कैश में रखी गई वस्तु के बाद वह कैश ऑब्जेक्ट १२ घंटों तक मान्य रहेगा। उसके बाद, कैश को अमान्य माना गया था, इसलिए nginx बैकएंड से आएगा और मान्य टाइमर को रीसेट करेगा। लेकिन अगर ऑब्जेक्ट एक घंटे से अधिक समय तक निष्क्रिय (एक्सेस नहीं किया गया) - यहां तक कि 12h वैध-कैश-अवधि में -, तो nginx पैरामीटर के कारण इसे हटा देगा inactive
।
365d
और वैध है1d
तो nginx प्रत्येक दिन एक वर्ष के लिए कैश में अनुरोध लाएगा भले ही वह कोई भी अनुरोध क्यों न करे?