अमान्येट कैश नीति

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

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

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

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

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

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

<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name">
    <DisplayName>Policy Name</DisplayName>
    <CacheKey>
        <Prefix>prefix_string</Prefix>
        <KeyFragment ref="variable_reference"/>
        <KeyFragment>fragment_string</KeyFragment>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource>cache_to_use</CacheResource>
    <Scope>scope_enumeration</Scope>
    <CacheContext>
        <APIProxyName>application_that_added_the_entry</APIProxyName>
        <ProxyName>proxy_for_which_data_was_cached</ProxyName>
        <TargetName>endpoint_for_which_data_was_cached</TargetName>
    </CacheContext>
    <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries>
</InvalidateCache>

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

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

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

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

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

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

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

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

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

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

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

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

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

गलत बहिष्कृत

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

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

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

लागू नहीं

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

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

&lt;CacheContext&gt;/&lt;APIProxyName&gt; एलिमेंट

कैश एंट्री को जोड़ने वाले ऐप्लिकेशन का नाम बताता है.

<APIProxyName>application_that_added_the_entry</APIProxyName>

विशेषताएं

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

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

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

<CacheContext>
  <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName>
  <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName>
  <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName>
</CacheContext>

इसका इस्तेमाल cacheKey बनाने के लिए किया जाता है. APIप्रॉक्सीName, ProxyName, और TargetName के लिए मान हैं यह ज़रूरी है कि कैश एंट्री को मिटाने के लिए कैश मेमोरी में मौजूद प्रीफ़िक्स (यानी कि कस्टम प्रीफ़िक्स) का इस्तेमाल न किया जाए किसी दूसरे एपीआई प्रॉक्सी की मदद से जोड़ा गया.

&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;CacheResource&gt; एलिमेंट

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

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

<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;CacheContext&gt;/&lt;ProxyName&gt; एलिमेंट

उस प्रॉक्सी का नाम बताता है जिसके लिए डेटा कैश मेमोरी में सेव किया गया था.

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

वैकल्पिक

टाइप:

स्ट्रिंग

विशेषताएं

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

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

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

ध्यान दें कि <KeyFragment> एलिमेंट बताना ज़रूरी है. अगर ऐसा नहीं है, <PurgeChildEntries> के लिए सही सेट करने से सभी प्रविष्टियां पूरी हो सकती हैं को व्यवस्थित करने के लिए किया जा सकता है.

कुंजी फ़्रैगमेंट की एक ही वैल्यू की सभी कैश एंट्री को अमान्य करना, मिलती-जुलती कई एंट्री को एक साथ पूरी तरह मिटाएं.

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

डिफ़ॉल्ट:

गलत

मौजूदगी:

वैकल्पिक

टाइप:

बूलियन

&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
.

&lt;CacheContext&gt;/&lt;TargetName&gt; एलिमेंट

टारगेट एंडपॉइंट का नाम बताता है जिसके लिए डेटा कैश मेमोरी में सेव किया गया था.

<TargetName>endpoint_for_which_data_was_cached</TargetName>

डिफ़ॉल्ट:

लागू नहीं

मौजूदगी:

वैकल्पिक

टाइप:

स्ट्रिंग

विशेषताएं

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

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

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

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

गड़बड़ी कोड

This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.

Error code prefix

N/A

Runtime errors

This policy does not throw any runtime errors.

Deployment errors

These errors can occur when you deploy a proxy containing this policy.

Error name Cause Fix
InvalidCacheResourceReference This error occurs if the <CacheResource> element in the InvalidateCache policy is set to a name that does not exist in the environment where the API proxy is being deployed.
CacheNotFound This error occurs if the specific cache mentioned in the error message has not been created on a specific Message Processor component.

Fault variables

N/A

Example error response

N/A