सर्वर को कैश मेमोरी में सेव करें

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

इस विषय में, नीतियों के तहत कैश मेमोरी के काम करने के तरीके के बारे में बताया गया है. इन नीतियों में, कैश मेमोरी में सेव की गई जानकारी को अपने-आप इकट्ठा करने की नीति, lookupकैश से जुड़ी नीति, अमान्य कैश नीति, और रिस्पॉन्स कैश से जुड़ी नीति जैसी नीतियां शामिल हैं.

शेयर की गई और एनवायरमेंट कैश मेमोरी

कैश मेमोरी में सेव करने की हर नीति को कॉन्फ़िगर करने के लिए, दो में से किसी एक तरह की कैश मेमोरी का इस्तेमाल किया जा सकता है: इसमें शेयर की गई कैश मेमोरी, जिसका ऐक्सेस आपके ऐप्लिकेशन के पास होता है. साथ ही, कैश मेमोरी के लिए बनाए गए एक या एक से ज़्यादा स्कोप वाले कैश मेमोरी का इस्तेमाल भी किया जा सकता है.

  • शेयर की गई कैश मेमोरी: डिफ़ॉल्ट रूप से, आपके प्रॉक्सी को हर एनवायरमेंट में शेयर की गई कैश मेमोरी का ऐक्सेस मिलता है. शेयर की गई कैश मेमोरी, सामान्य इस्तेमाल के लिए अच्छी तरह काम करती है.

    सिर्फ़ कैश मेमोरी में सेव करने की नीतियों का इस्तेमाल करके, शेयर की गई कैश मेमोरी के साथ काम किया जा सकता है, मैनेजमेंट एपीआई का इस्तेमाल नहीं किया जा सकता. कैश मेमोरी में सेव करने की नीति बनाने के लिए, शेयर की गई कैश मेमोरी का इस्तेमाल करें. इसके लिए, नीति के <CacheResource> एलिमेंट को छोड़ दें.

  • एनवायरमेंट कैश: जब आपको अपनी चुनी गई वैल्यू के साथ कैश प्रॉपर्टी को कॉन्फ़िगर करना हो, तब एनवायरमेंट के स्कोप वाली कैश मेमोरी बनाई जा सकती है. कैश मेमोरी बनाने के बारे में ज़्यादा जानने के लिए, एनवायरमेंट कैश बनाना और उसमें बदलाव करना देखें.

    एनवायरमेंट कैश मेमोरी बनाने पर, उसकी डिफ़ॉल्ट प्रॉपर्टी कॉन्फ़िगर की जाती है. कैश मेमोरी में सेव करने की नीति को लागू करने के लिए, एनवायरमेंट कैश मेमोरी का इस्तेमाल किया जा सकता है. इसके लिए, आपको नीति के <CacheResource> एलिमेंट में कैश मेमोरी का नाम बताना होगा.

कैश मेमोरी एन्क्रिप्ट (सुरक्षित) करने की सुविधा के बारे में जानकारी

Edge for Public Cloud: कैश मेमोरी को सिर्फ़ पीसीआई और हिपा की सुविधा वाले संगठनों में एन्क्रिप्ट (सुरक्षित) किया जाता है. उन संगठनों के लिए एन्क्रिप्शन, संगठन प्रावधान के दौरान कॉन्फ़िगर किया जाता है.

इन-मेमोरी और स्थायी कैश लेवल

शेयर किए गए और एनवायरमेंट, दोनों ही कैश मेमोरी में सेव किए गए दो लेवल वाले सिस्टम पर बनाए जाते हैं. ये सिस्टम में मेमोरी लेवल और स्थायी लेवल से बने होते हैं. नीतियां, मिले-जुले फ़्रेमवर्क के तौर पर दोनों लेवल के साथ इंटरैक्ट करती हैं. Edge, लेवल के बीच के संबंध को मैनेज करता है.

  • लेवल 1, इन-मेमोरी कैश (L1) है, ताकि इसे तेज़ी से ऐक्सेस किया जा सके. हर मैसेज प्रोसेसिंग नोड (एमपी) का अपना इन-मेमोरी कैश (ईएचकैश से लागू) होता है, ताकि अनुरोधों का तेज़ी से जवाब दिया जा सके.
    • हर नोड में, मेमोरी का एक तय प्रतिशत कैश मेमोरी के इस्तेमाल के लिए रिज़र्व रखा जाता है.
    • मेमोरी की सीमा पूरी होने पर, Apigee Edge, मेमोरी से कैश मेमोरी में सेव की गई एंट्री को हटा देता है. हालांकि, ये अब भी स्थायी कैश मेमोरी में सेव रहती हैं, ताकि यह पक्का किया जा सके कि दूसरी प्रोसेस के लिए मेमोरी उपलब्ध रहे.
    • आखिरी बार ऐक्सेस किए जाने के बाद से जिस क्रम में एंट्री हटाई जाती हैं उसी क्रम में, सबसे पुरानी एंट्री को सबसे पहले हटाया जाता है.
    • ये कैश मेमोरी, कैश में मौजूद एंट्री की संख्या के हिसाब से भी सीमित होती हैं.
  • दूसरा लेवल, इन-मेमोरी कैश मेमोरी के नीचे मौजूद स्थायी कैश मेमोरी (L2) है. कैश मेमोरी में सेव की गई एंट्री के लिए, सभी मैसेज प्रोसेसिंग नोड कैश डेटा स्टोर (कैसांड्रा) को शेयर करते हैं.
    • L1 कैश से हटाए जाने के बाद भी कैश एंट्री यहां बनी रहती हैं. जैसे, मेमोरी में मौजूद सीमा पूरी होने पर भी.
    • स्थायी कैश मेमोरी को, मैसेज प्रोसेस करने वाले सभी सर्वर (यहां तक कि अलग-अलग इलाकों में भी) के साथ शेयर किया जाता है. इसलिए, कैश एंट्री उपलब्ध होती हैं. इस बात से कोई फ़र्क़ नहीं पड़ता कि किस नोड को कैश मेमोरी में सेव किए गए डेटा के लिए अनुरोध मिलता है.
    • सिर्फ़ खास साइज़ की एंट्री ही कैश मेमोरी में सेव की जा सकती हैं. कैश की अन्य सीमाएं लागू होती हैं. कैश मेमोरी की सीमा मैनेज करना देखें.

ऐसा हो सकता है कि आपकी दिलचस्पी Apigee कम्यूनिटी पर मौजूद, Apigee Edge Caching In Detail में हो.

नीतियां, कैश मेमोरी का इस्तेमाल कैसे करती हैं

यहां बताया गया है कि Apigee Edge, कैश मेमोरी में सेव की गई एंट्री को कैसे मैनेज करता है और कैश मेमोरी की नीतियां किस तरह काम करती हैं.

  • जब कोई नीति कैश मेमोरी में एक नई एंट्री लिखती है (Populatecache या Response cache से जुड़ी नीति):
    1. Edge, इन-मेमोरी L1 कैश मेमोरी में सेव की गई एंट्री को सिर्फ़ उस मैसेज प्रोसेसर पर लिखता है जिसने अनुरोध को हैंडल किया था. अगर एंट्री की समयसीमा खत्म होने से पहले मैसेज प्रोसेसर की मेमोरी की सीमा पूरी हो जाती है, तो Edge L1 कैश से एंट्री को हटा देता है.
    2. Edge, L2 कैश में भी एंट्री को लिखता है.
  • जब कोई नीति, कैश मेमोरी (lookupकैश या Responseकैश नीति) से पढ़ती है, तो:
    1. एज सबसे पहले अनुरोध को हैंडल करने वाले मैसेज प्रोसेसर की मेमोरी में मौजूद L1 कैश मेमोरी में मौजूद एंट्री को खोजता है.
    2. अगर इससे जुड़ी कोई इन-मेमोरी एंट्री नहीं है, तो Edge L2 परसिस्टेंट कैश मेमोरी में एंट्री को ढूंढता है.
    3. अगर एंट्री, स्थायी कैश मेमोरी में नहीं है, तो:
      • lookup cache नीति: कैश मेमोरी से कोई वैल्यू नहीं मिली.
      • Responseकैश नीति: Edge, टारगेट से क्लाइंट को मिलने वाला असली रिस्पॉन्स भेजता है. साथ ही, उस एंट्री को कैश मेमोरी में तब तक सेव रखता है, जब तक उसकी समयसीमा खत्म नहीं हो जाती या उसे अमान्य नहीं कर दिया जाता.
  • जब कोई नीति, कैश मेमोरी में सेव की गई किसी मौजूदा एंट्री को अपडेट करती है या उसे अमान्य करती है, तो:
    1. अनुरोध पाने वाला मैसेज प्रोसेसर, खुद के और सभी क्षेत्रों में मौजूद दूसरे सभी मैसेज प्रोसेसर के L1 कैश में मौजूद एंट्री को अपडेट करने या मिटाने के लिए ब्रॉडकास्ट भेजता है.
      • ब्रॉडकास्ट हो जाने पर, मैसेज पाने वाला हर प्रोसेसर अपडेट हो जाता है या L1 कैश में एंट्री को हटा देता है.
      • अगर ब्रॉडकास्ट नहीं होता, तो गलत कैश वैल्यू उन मैसेज प्रोसेसर के L1 कैश में बनी रहती है जिन्हें ब्रॉडकास्ट नहीं मिला. इन मैसेज प्रोसेसर के पास L1 कैश में पुराना डेटा होगा. ऐसा तब तक होगा, जब तक एंट्री की टाइम-टू-लाइव (टीटीएल) समयसीमा खत्म नहीं हो जाती या मैसेज प्रोसेसर की मेमोरी की सीमा पूरी होने पर उसे हटा नहीं दिया जाता.
    2. ब्रॉडकास्ट, L2 कैश में एंट्री को भी अपडेट करता है या मिटा देता है.

कैश मेमोरी की सीमा मैनेज करना

कॉन्फ़िगरेशन की मदद से, कैश मेमोरी के कुछ पहलुओं को मैनेज किया जा सकता है. इन-मेमोरी कैश मेमोरी के लिए उपलब्ध जगह, सिस्टम के संसाधनों के हिसाब से सीमित है. इसे कॉन्फ़िगर नहीं किया जा सकता. कैश मेमोरी पर ये पाबंदियां लागू होती हैं:

  • कैश मेमोरी की सीमाएं: कैश मेमोरी की अलग-अलग सीमाएं लागू होती हैं. जैसे, नाम और वैल्यू का साइज़, कैश मेमोरी की कुल संख्या, कैश में मौजूद आइटम की संख्या, और उनका ऐक्सेस खत्म होने की तारीख.
  • इन-मेमोरी (L1) कैश मेमोरी. आपके कैश की मेमोरी सीमाएं कॉन्फ़िगर नहीं की जा सकती हैं. Apigee, हर मैसेज प्रोसेस करने वाली कंपनी के लिए सीमाएं तय करता है. यह प्रोसेस, कई ग्राहकों के लिए कैश मेमोरी होस्ट करती है.

    होस्ट किए गए क्लाउड एनवायरमेंट में, सभी ग्राहकों के डिप्लॉयमेंट के लिए इन-मेमोरी कैश मेमोरी को, शेयर किए गए एक से ज़्यादा मैसेज प्रोसेसर पर होस्ट किया जाता है. हर प्रोसेसर, Apigee की कॉन्फ़िगर की जा सकने वाली, मेमोरी के लिए तय की गई सीमा की सुविधा देता है. इससे यह पक्का किया जाता है कि कैश मेमोरी में ऐप्लिकेशन की सारी मेमोरी खर्च न हो. किसी मैसेज प्रोसेसर के लिए, थ्रेशोल्ड पार होने पर, कैश एंट्री को मेमोरी से हटा दिया जाता है. ऐसा कम से कम हाल ही में इस्तेमाल किए जाने के आधार पर किया जाता है. मेमोरी से हटाई गई एंट्री, L2 कैश मेमोरी में तब तक सेव रहती हैं, जब तक उनकी समयसीमा खत्म नहीं हो जाती या वे अमान्य नहीं हो जाते.

  • परसिस्टेंट (L2) कैश मेमोरी. इन-मेमोरी कैश मेमोरी से हटाई गई एंट्री, टाइम-टू-लाइव कॉन्फ़िगरेशन वाली सेटिंग के मुताबिक स्थायी कैश मेमोरी में सेव रहती हैं.

कॉन्फ़िगर किए जा सकने वाले ऑप्टिमाइज़ेशन

नीचे दी गई टेबल में उन सेटिंग की सूची दी गई है जिनका इस्तेमाल, कैश मेमोरी की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के लिए किया जा सकता है. नई एनवायरमेंट कैश मेमोरी बनाते समय, इन सेटिंग के लिए वैल्यू तय की जा सकती हैं. जैसा कि एनवायरमेंट कैश बनाना और उसमें बदलाव करना में बताया गया है.

सेटिंग ब्यौरा ज़रूरी जानकारी
पासवर्ड इस्तेमाल करने की समय-सीमा कैश एंट्री के लाइव होने का समय बताता है. कोई नहीं.