LookupCache नीति

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

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

इस नीति का इस्तेमाल, सामान्य तौर पर कम समय के लिए कैश मेमोरी में सेव करने के लिए किया जाता है. इसका इस्तेमाल इसमें किया जाता है पॉप्युलेट होने के साथ कैश मेमोरी से जुड़ी नीति (एंट्री लिखने के लिए) और कैश मेमोरी से जुड़ी नीति को अमान्य करें (एंट्री को अमान्य करने के लिए).

बैकएंड संसाधनों के जवाबों को कैश मेमोरी में सेव करने के लिए, देखें रिस्पॉन्स कैश मेमोरी से जुड़ी नीति.

एलिमेंट का रेफ़रंस

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

<LookupCache async="false" continueOnError="false" enabled="true" name="Lookup-Cache-1">
    <DisplayName>Lookup Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref=""/>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource/>
    <CacheLookupTimeoutInSeconds/>
    <Scope>Exclusive</Scope>
    <AssignTo>flowVar</AssignTo>
</LookupCache>

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

मौजूदा डेटा स्टोर के बारे में ज़्यादा जानने के लिए, कैश मेमोरी में सेव डेटा सेक्शन देखें. कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए कैश मेमोरी में सेव करने के लिए, किसी ब्राउज़र पर एनवायरमेंट कैश मेमोरी.

&lt;LookupCache&gt; एट्रिब्यूट

यहां दी गई टेबल में, ऐसे एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट में एक जैसे होते हैं:

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
name

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू ये काम कर सकती है: अक्षरों, संख्याओं, स्पेस, हाइफ़न, अंडरस्कोर, और फ़ुलस्टॉप को शामिल करें. यह मान नहीं हो सकता 255 वर्णों से ज़्यादा होने चाहिए.

इसके अलावा, नीति को लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें प्रबंधन यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर को अलग, आम भाषा में इस्तेमाल करने वाले नाम के साथ किया जा सकता है.

लागू नहीं ज़रूरी है
continueOnError

किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए false पर सेट करें. यह उम्मीद है व्यवहार की जानकारी देने वाला डेटा.

नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे true पर सेट करें विफल होता है.

गलत वैकल्पिक
enabled

नीति को लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. नीति लागू किया जाता है, भले ही वह किसी फ़्लो से जुड़ा रहता हो.

सही वैकल्पिक
async

यह एट्रिब्यूट अब काम नहीं करता.

गलत बहिष्कृत

&lt;DisplayName&gt; एलिमेंट

इस कॉलम में नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम अलग और सामान्य भाषा में है.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर आप इस एलिमेंट को छोड़ देते हैं, तो नीति की name एट्रिब्यूट की वैल्यू यह होगी इस्तेमाल किया गया.

मौजूदगी वैकल्पिक
टाइप स्ट्रिंग

&lt;AssignTo&gt; एलिमेंट

उस वैरिएबल के बारे में बताता है जहां से कैश एंट्री मिलने के बाद उसे असाइन किया जाता है कैश मेमोरी. वैरिएबल ऐसा होना चाहिए जिसे लिखा जा सके. अगर कैश लुकअप से कोई वैल्यू नहीं मिलती, तो वैरिएबल सेट नहीं होगा.

<AssignTo>variable_to_receive_cached_value</AssignTo>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

ज़रूरी है

टाइप:

स्ट्रिंग

&lt;CacheKey&gt; एलिमेंट

यह कैश मेमोरी में सेव किए गए डेटा के किसी हिस्से का यूनीक पॉइंटर कॉन्फ़िगर करता है.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

ज़रूरी है

टाइप:

लागू नहीं

<CacheKey> इसमें स्टोर किए गए डेटा के हर हिस्से का नाम बनाता है कैश मेमोरी.

रनटाइम पर, <KeyFragment> वैल्यू को, वैल्यू के पहले जोड़े गए <Scope> एलिमेंट वैल्यू या <Prefix> वैल्यू. उदाहरण के लिए, परिणामों की एक कैश कुंजी UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

<CacheKey> एलिमेंट का इस्तेमाल इसके साथ किया जाता है <Prefix> और <Scope>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.

&lt;CacheLookupTimeoutInSeconds&gt; एलिमेंट

सेकंड की संख्या तय करता है. इसके बाद, असफल कैश लुकअप को कैश मेमोरी में सेव नहीं किया गया. अगर ऐसा होता है, तो कैश मेमोरी में सेव न किए जाने वाले पाथ पर फ़्लो फिर से शुरू हो जाता है.

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

डिफ़ॉल्ट:

30

मौजूदगी:

वैकल्पिक

टाइप:

पूर्णांक

&lt;CacheResource&gt; एलिमेंट

उस कैश मेमोरी के बारे में बताता है जहां मैसेज सेव करने हैं.

अगर इस नीति (और इससे जुड़ी अफ़िलिएटकैश मेमोरी और अमान्यateकैश नीतियां) शामिल की गई 'शेयर की गई कैश मेमोरी' सुविधा का इस्तेमाल कर रही है.

<CacheResource>cache_to_use</CacheResource>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

वैकल्पिक

टाइप:

स्ट्रिंग

कैश मेमोरी को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, एनवायरमेंट बनाना और उसमें बदलाव करना देखें कैश मेमोरी में सेव करें.

&lt;CacheKey&gt;/&lt;KeyFragment&gt; एलिमेंट

इस नीति से एक ऐसी वैल्यू के बारे में पता चलता है जिसे कैश मेमोरी में सेव करने की कुंजी में शामिल किया जाना चाहिए. ऐसा करके, मैच करने के लिए नेमस्पेस बनाया जा सकता है कैश मेमोरी में सेव किए गए जवाबों के लिए अनुरोध.

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

वैकल्पिक

टाइप:

लागू नहीं

यह कोई कुंजी (आपकी ओर से उपलब्ध कराया जाने वाला स्टैटिक नाम) या कोई वैल्यू (डाइनैमिक एंट्री सेट वैरिएबल का रेफ़रंस देते हैं). सभी तय फ़्रैगमेंट (साथ ही प्रीफ़िक्स) जोड़े गए हैं कैश मेमोरी कुंजी बनाएं.

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

<KeyFragment> एलिमेंट का इस्तेमाल इसके साथ किया जाता है <Prefix> और <Scope>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.

विशेषताएं

एट्रिब्यूट टाइप डिफ़ॉल्ट ज़रूरी है ब्यौरा
संदर्भ स्ट्रिंग नहीं

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

&lt;CacheKey&gt;/&lt;Prefix&gt; एलिमेंट

यह कैश मेमोरी की कुंजी के प्रीफ़िक्स के तौर पर इस्तेमाल की जाने वाली वैल्यू के बारे में बताता है.

<Prefix>prefix_string</Prefix>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

वैकल्पिक

टाइप:

स्ट्रिंग

जब आपको अपना मान तय करना हो, तो <Scope> के बजाय इस मान का इस्तेमाल करें के बजाय <Scope>-एन्युरेटेड वैल्यू डाली जा सकती है. अगर तय किया गया हो, <Prefix>, कैश मेमोरी में लिखी गई एंट्री के लिए, कैश मेमोरी की कुंजी की वैल्यू को जोड़ता है. ऐप्लिकेशन <Prefix> एलिमेंट की वैल्यू, <Scope> एलिमेंट को बदल देती है वैल्यू.

<Prefix> एलिमेंट का इस्तेमाल इसके साथ किया जाता है <CacheKey> और <Scope>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.

&lt;Scope&gt; एलिमेंट

<Prefix> के समय कैश मेमोरी में सेव की गई कुंजी के लिए प्रीफ़िक्स बनाने के लिए इस्तेमाल किया जाने वाला इन्यूमरेशन <CacheKey> एलिमेंट में एलिमेंट की वैल्यू नहीं दी गई है.

<Scope>scope_enumeration</Scope>

डिफ़ॉल्ट:

"खास"

मौजूदगी:

वैकल्पिक

टाइप:

स्ट्रिंग

<Scope> सेटिंग एक कैश कुंजी तय करती है, जिसे <Scope> वैल्यू. उदाहरण के लिए, कैश मेमोरी में सेव की गई कुंजी को ऐसा तब माना जाएगा, जब दायरा Exclusive पर सेट है : orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

अगर <CacheKey> में <Prefix> एलिमेंट मौजूद है, तो इसका मतलब है कि <Scope> एलिमेंट की वैल्यू की जगह लागू होता है. मान्य वैल्यू में, गिनती शामिल हैं देखें.

<Scope> एलिमेंट का इस्तेमाल इसके साथ किया जाता है <CacheKey> और <Prefix>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.

स्वीकार की जा सकने वाली वैल्यू

Global

कैश मेमोरी की कुंजी, एनवायरमेंट में डिप्लॉय की गई सभी एपीआई प्रॉक्सी के साथ शेयर की जाती है. कैश कुंजी है orgName __ envName __ के फ़ॉर्म में पहले से जोड़ा जाता है.

यदि आप कोई <CacheKey> प्रविष्टि <KeyFragment> apiAccessToken और एक <Global> स्कोप, हर एंट्री को orgName__envName__apiAccessToken के तौर पर सेव किया जाता है. इसके बाद, ऐक्सेस टोकन की क्रम वाली वैल्यू. इस एनवायरमेंट में डिप्लॉय किए गए एपीआई प्रॉक्सी के लिए 'टेस्ट' 'apiफ़ैक्ट्री' नाम के संगठन में, ऐक्सेस टोकन निम्न कैश कुंजी: apifactory__test__apiAccessToken.

Application

एपीआई प्रॉक्सी के नाम का इस्तेमाल प्रीफ़िक्स के तौर पर किया जाता है.

कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__applicationName.

Proxy

प्रॉक्सीएंडपॉइंट कॉन्फ़िगरेशन का इस्तेमाल प्रीफ़िक्स के तौर पर किया जाता है.

कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName को अपनाएं.

Target

TargetEndpoint कॉन्फ़िगरेशन का इस्तेमाल प्रीफ़िक्स के तौर पर किया जाता है.

कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName को अपनाएं.

Exclusive

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

प्रीफ़िक्स दो तरह का है:

  • अगर नीति को ProxyEndpoint फ़्लो से जोड़ा जाता है, तो प्रीफ़िक्स ApiProxyName_ProxyEndpointName फ़ॉर्म का इस्तेमाल करें.
  • अगर नीति TargetEndpoint पर अटैच की गई है, तो प्रीफ़िक्स इस तरह का होगा ApiProxyName_TargetName.

कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName

उदाहरण के लिए, पूरी स्ट्रिंग कुछ ऐसी दिख सकती है:

apifactory__test__weatherapi__16__default__apiAccessToken
.

इस्तेमाल की जानकारी

अलग-अलग कामों के लिए कैश मेमोरी में सेव करने के लिए, इस नीति का इस्तेमाल करें. रनटाइम पर, lookupकैश नीति, इसके लिए, कैश मेमोरी में सेव की गई वैल्यू, 'असाइन करें' एलिमेंट से तय किए गए वैरिएबल को वैल्यू असाइन करें (अगर कोई वैल्यू फिर से हासिल नहीं की जाती, तो वैरिएबल सेट नहीं किया जाएगा). यह कैश मेमोरी के आधार पर वैल्यू ढूंढता है की, कॉन्फ़िगरेशन के ज़रिए बनाई गई है, जो कैश मेमोरी और स्कोप एलिमेंट को जोड़ती है. दूसरे शब्दों में, पॉप-अप कैश नीति की मदद से कैश मेमोरी में जोड़ी गई किसी खास वैल्यू को वापस पाने के लिए, lookupकैश मेमोरी का इस्तेमाल करना होगा इस नीति में कैश मेमोरी से जुड़े मुख्य एलिमेंट को उसी तरह कॉन्फ़िगर किया जाना चाहिए जिस तरह सेटलमेंट कैश मेमोरी में सेट किया गया है की नीति देखें.

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

कैश मेमोरी को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, एनवायरमेंट बनाना और उसमें बदलाव करना देखें कैश मेमोरी में सेव करें. मौजूदा डेटा स्टोर के बारे में ज़्यादा जानने के लिए, कैश मेमोरी में सेव डेटा सेक्शन देखें.

फ़्लो वैरिएबल

फ़्लो वैरिएबल का इस्तेमाल नीतियों और फ़्लो के लिए डाइनैमिक रनटाइम व्यवहार को कॉन्फ़िगर करने के लिए किया जा सकता है. पर एचटीटीपी हेडर या मैसेज कॉन्टेंट या फ़्लो में उपलब्ध संदर्भ पर कर सकते हैं. Reader Revenue Manager को सेट अप करने के बारे में की जानकारी के लिए, वैरिएबल संदर्भ देखें.

नीचे दिए गए पहले से तय फ़्लो वैरिएबल तब उपलब्ध होते हैं, जब आप कैश मेमोरी जिसे आप lookupकैश नीति में तय करते हैं.

वैरिएबल टाइप अनुमति ब्यौरा
lookupcache.{policy-name}.cachename स्ट्रिंग रीड-ओनली नीति में इस्तेमाल की गई कैश मेमोरी का नाम दिखाता है.
lookupcache.{policy-name}.cachekey स्ट्रिंग रीड-ओनली इस्तेमाल की गई कुंजी दिखाता है.
lookupcache.{policy-name}.cachehit बूलियन रीड-ओनली अगर नीति को दी गई कैश कुंजी के लिए कोई वैल्यू मिलती है, तो वैल्यू 'सही' होती है.
lookupcache.{policy-name}.assignto स्ट्रिंग रीड-ओनली वह वैरिएबल लौटाता है जिसे कैश मेमोरी में असाइन किया गया है.

गड़बड़ी कोड

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

गड़बड़ी कोड प्रीफ़िक्स

लागू नहीं

रनटाइम से जुड़ी गड़बड़ियां

इस नीति के तहत रनटाइम में कोई गड़बड़ी नहीं होती है.

डिप्लॉयमेंट से जुड़ी गड़बड़ियां

ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाले किसी प्रॉक्सी को डिप्लॉय किया जाता है.

गड़बड़ी का नाम वजह समाधान
InvalidCacheResourceReference यह गड़बड़ी तब होती है, जब <CacheResource> एलिमेंट को किसी ऐसे नाम पर सेट किया गया हो जो उस एनवायरमेंट में मौजूद नहीं है जहां एपीआई प्रॉक्सी को डिप्लॉय किया जा रहा है.
InvalidTimeout अगर <CacheLookupTimeoutInSeconds> एलिमेंट को नेगेटिव नंबर पर सेट किया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.
CacheNotFound यह गड़बड़ी तब होती है, जब गड़बड़ी के मैसेज में बताए गए कैश को किसी खास Message प्रोसेसर कॉम्पोनेंट पर न बनाया गया हो.

गड़बड़ी वाले वैरिएबल

लागू नहीं

गड़बड़ी के जवाब का उदाहरण

लागू नहीं