ক্যাশে নীতি বাতিল করুন

আপনি 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>

<InvalidateCache> বৈশিষ্ট্য

নিম্নলিখিত সারণী সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ বৈশিষ্ট্যগুলি বর্ণনা করে:

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
name

নীতির অভ্যন্তরীণ নাম। name বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে <DisplayName> উপাদানটি ব্যবহার করুন।

N/A প্রয়োজন
continueOnError

একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে false সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ।

একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে true সেট করুন৷

মিথ্যা ঐচ্ছিক
enabled

নীতি প্রয়োগ করতে true সেট করুন৷

নীতি বন্ধ করতে false সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না।

সত্য ঐচ্ছিক
async

এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷

মিথ্যা অবচয়

<DisplayName> উপাদান

ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।

<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট

N/A

আপনি এই উপাদানটি বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হবে।

উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং

<CacheContext>/<APIproxyName> উপাদান

ক্যাশে এন্ট্রি যোগ করা অ্যাপ্লিকেশনটির নাম উল্লেখ করে।

<APIProxyName>application_that_added_the_entry</APIProxyName>

গুণাবলী

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি টাইপ
রেফ অ্যাপ্লিকেশন নামের সাথে পরিবর্তনশীল। N/A ঐচ্ছিক স্ট্রিং

<ক্যাশে কনটেক্সট> উপাদান

একটি Prefix উপাদান মান নির্দিষ্ট করা না থাকলে কীভাবে একটি ক্যাশে কী তৈরি করতে হয় বা অন্য API প্রক্সি দ্বারা যুক্ত ক্যাশে এন্ট্রিগুলি সাফ করতে হয় তা নির্দিষ্ট করে৷

<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 তৈরি করতে ব্যবহৃত হয়। APIProxyName, ProxyName, এবং TargetName-এর মানগুলি বাধ্যতামূলক যখন একটি CacheKey উপসর্গ (অর্থাৎ, একটি কাস্টম উপসর্গ) অন্য API প্রক্সি দ্বারা যোগ করা ক্যাশে এন্ট্রিগুলি সাফ করতে ব্যবহার করা হয় না৷

<CacheKey> উপাদান

ক্যাশে সংরক্ষিত ডেটার একটি অংশে একটি অনন্য পয়েন্টার কনফিগার করে।

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

ডিফল্ট:

N/A

উপস্থিতি:

প্রয়োজন

প্রকার:

N/A

<CacheKey> ক্যাশে সংরক্ষিত ডেটার প্রতিটি অংশের নাম তৈরি করে।

রানটাইমে, <KeyFragment> মানগুলি হয় <Scope> উপাদান মান বা <Prefix> মান দিয়ে প্রিপেন্ড করা হয়। উদাহরণস্বরূপ, নিম্নলিখিত ফলাফল UserToken__apiAccessToken__ < value_of_client_id> এর একটি ক্যাশে কীতে পরিণত হয় :

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

আপনি <CacheKey> উপাদানটি <Prefix> এবং <Scope> এর সাথে ব্যবহার করেন। আরও তথ্যের জন্য, ক্যাশে কীগুলির সাথে কাজ করা দেখুন।

<ক্যাশরিসোর্স> উপাদান

ক্যাশে নির্দিষ্ট করে যেখানে বার্তা সংরক্ষণ করা উচিত।

যদি এই নীতি (এবং আপনার সংশ্লিষ্ট PopulateCache এবং LookupCache নীতি) অন্তর্ভুক্ত শেয়ার করা ক্যাশে ব্যবহার করে তাহলে এই উপাদানটিকে সম্পূর্ণরূপে বাদ দিন।

<CacheResource>cache_to_use</CacheResource>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

ক্যাশে কনফিগার করার বিষয়ে আরও জানতে, একটি পরিবেশ ক্যাশে তৈরি এবং সম্পাদনা দেখুন।

<CacheKey>/<KeyFragment> উপাদান

একটি মান নির্দিষ্ট করে যা ক্যাশে কী-তে অন্তর্ভুক্ত করা উচিত, ক্যাশে করা প্রতিক্রিয়াগুলির সাথে মিলিত অনুরোধগুলির জন্য একটি নামস্থান তৈরি করে৷

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

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

N/A

এটি একটি কী (একটি স্ট্যাটিক নাম যা আপনি প্রদান করেন) বা একটি মান (একটি পরিবর্তনশীল উল্লেখ করে একটি গতিশীল এন্ট্রি সেট) হতে পারে। ক্যাশে কী তৈরি করতে সমস্ত নির্দিষ্ট টুকরো একত্রিত করা হয় (প্লাস উপসর্গ)।

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

আপনি <Prefix> এবং <Scope> এর সাথে একত্রে <KeyFragment> উপাদান ব্যবহার করেন। আরও তথ্যের জন্য, ক্যাশে কীগুলির সাথে কাজ করা দেখুন।

গুণাবলী

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি টাইপ
রেফ যে ভেরিয়েবল থেকে মান পেতে হবে। এই উপাদানটিতে একটি আক্ষরিক মান থাকলে ব্যবহার করা উচিত নয়। N/A ঐচ্ছিক স্ট্রিং

<CacheKey>/<Prefix> উপাদান

ক্যাশে কী উপসর্গ হিসাবে ব্যবহার করার জন্য একটি মান নির্দিষ্ট করে।

<Prefix>prefix_string</Prefix>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

যখন আপনি একটি <Scope> -গণিত মানের পরিবর্তে আপনার নিজস্ব মান নির্দিষ্ট করতে চান তখন <Scope> -এর পরিবর্তে এই মানটি ব্যবহার করুন। যদি সংজ্ঞায়িত করা হয়, <Prefix> ক্যাশে লিখিত এন্ট্রিগুলির জন্য ক্যাশ কী মান পূর্বে-প্রেপেন্ড করে। একটি <Prefix> উপাদান মান একটি <Scope> উপাদান মান ওভাররাইড করে।

আপনি <CacheKey> এবং <Scope> এর সাথে একত্রে <Prefix> উপাদানটি ব্যবহার করেন। আরও তথ্যের জন্য, ক্যাশে কীগুলির সাথে কাজ করা দেখুন।

<CacheContext>/<ProxyName> উপাদান

প্রক্সিটির নাম উল্লেখ করে যার জন্য ডেটা ক্যাশে করা হয়েছিল।

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

গুণাবলী

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি টাইপ
রেফ যে ভেরিয়েবল থেকে মান পেতে হবে। এই উপাদানটিতে একটি আক্ষরিক মান থাকলে ব্যবহার করা উচিত নয়। N/A ঐচ্ছিক স্ট্রিং

<PurgeChildEntry> উপাদান

এই নীতির জন্য কনফিগার করা <KeyFragment> এলিমেন্ট দ্বারা সেট করা মান ভাগ করে এমন ক্যাশে এন্ট্রি পরিষ্কার করার জন্য true । ক্যাশে কী-এর অন্যান্য অংশের মান, যেমন <Prefix> উপাদানগুলিতে, বিবেচনা করা হয় না।

মনে রাখবেন যে <KeyFragment> উপাদান অবশ্যই নির্দিষ্ট করতে হবে। যদি তা না হয়, <PurgeChildEntries> -এর জন্য সত্য সেট করার ফলে ক্যাশে সমস্ত এন্ট্রি পরিষ্কার করা হতে পারে।

একই কী ফ্র্যাগমেন্ট মানের সমস্ত ক্যাশে এন্ট্রি বাতিল করা একযোগে একাধিক সম্পর্কিত এন্ট্রি পরিষ্কার করার একটি কার্যকর উপায় হতে পারে।

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার:

বুলিয়ান

<স্কোপ> উপাদান

<CacheKey> উপাদানে <Prefix> উপাদান প্রদান করা না হলে একটি ক্যাশে কী-এর জন্য একটি উপসর্গ তৈরি করতে ব্যবহৃত গণনা।

<Scope>scope_enumeration</Scope>

ডিফল্ট:

"এক্সক্লুসিভ"

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<Scope> সেটিং একটি ক্যাশে কী নির্ধারণ করে যা <Scope> মান অনুসারে পূর্বে যুক্ত করা হয়। উদাহরণ স্বরূপ, স্কোপ Exclusive এ সেট করা হলে একটি ক্যাশে কী নিম্নলিখিত ফর্মটি গ্রহণ করবে:

orgName__envName__ অ্যাপ্লিকেশনের নাম__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ]।

যদি একটি <Prefix> উপাদান <CacheKey> -এ উপস্থিত থাকে, তাহলে এটি একটি <Scope> উপাদান মানকে ছাড়িয়ে যায়। বৈধ মান নীচের গণনা অন্তর্ভুক্ত.

আপনি <CacheKey> এবং <Prefix> এর সাথে একযোগে <Scope> উপাদান ব্যবহার করেন। আরও তথ্যের জন্য, ক্যাশে কীগুলির সাথে কাজ করা দেখুন।

গ্রহণযোগ্য মান

সুযোগ মান বর্ণনা
Global

ক্যাশে কী পরিবেশে স্থাপন করা সমস্ত API প্রক্সি জুড়ে ভাগ করা হয়। ক্যাশে কী orgName __ envName __ আকারে আগে লেখা আছে।

আপনি যদি <KeyFragment> apiAccessToken এবং একটি <Global> স্কোপের সাথে একটি <CacheKey> এন্ট্রি সংজ্ঞায়িত করেন, তাহলে প্রতিটি এন্ট্রি orgName__envName__apiAccessToken হিসাবে সংরক্ষিত হয়, তারপরে অ্যাক্সেস টোকেনের ক্রমিক মান অনুসরণ করা হয়। 'এপিফ্যাক্টরি' নামক একটি প্রতিষ্ঠানে 'টেস্ট' নামক পরিবেশে স্থাপন করা একটি API প্রক্সির জন্য, অ্যাক্সেস টোকেনগুলি নিম্নলিখিত ক্যাশে কী-এর অধীনে সংরক্ষণ করা হবে: apifactory__test__apiAccessToken

Application

API প্রক্সি নামটি উপসর্গ হিসাবে ব্যবহৃত হয়।

ক্যাশে কী orgName__envName__ অ্যাপ্লিকেশন নাম ফর্মে আগে লেখা আছে।

Proxy

প্রক্সিএন্ডপয়েন্ট কনফিগারেশন উপসর্গ হিসাবে ব্যবহৃত হয়।

ক্যাশে কী orgName__envName__ অ্যাপ্লিকেশন নাম__deployedRevisionNumber__proxyEndpointName ফর্মে আগে লেখা আছে।

Target

TargetEndpoint কনফিগারেশন উপসর্গ হিসাবে ব্যবহৃত হয়।

orgName__envName__ অ্যাপ্লিকেশন Name__deployedRevisionNumber__targetEndpointName ফর্মে ক্যাশে কী প্রিপেন্ড করা হয়েছে।

Exclusive

ডিফল্ট এটি সবচেয়ে নির্দিষ্ট, এবং তাই একটি প্রদত্ত ক্যাশের মধ্যে নেমস্পেস সংঘর্ষের ন্যূনতম ঝুঁকি উপস্থাপন করে।

উপসর্গ দুটি রূপের একটি:

  • যদি নীতিটি ProxyEndpoint প্রবাহের সাথে সংযুক্ত থাকে, তাহলে উপসর্গটি ApiProxyName_ProxyEndpointName আকারের হয়।
  • যদি নীতিটি TargetEndpoint এ সংযুক্ত থাকে, তাহলে উপসর্গটি ApiProxyName_TargetName ফর্মের হয়।

orgName__envName__ অ্যাপ্লিকেশনের নাম__deployedRevisionNumber__proxyNameITargetName ফর্মে ক্যাশে কী প্রিপেন্ড করা হয়েছে

উদাহরণস্বরূপ, সম্পূর্ণ স্ট্রিং এই মত দেখতে পারে:

apifactory__test__weatherapi__16__default__apiAccessToken
.

<CacheContext>/<TargetName> উপাদান

টার্গেট এন্ডপয়েন্টের নাম উল্লেখ করে যার জন্য ডেটা ক্যাশে করা হয়েছিল।

<TargetName>endpoint_for_which_data_was_cached</TargetName>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

গুণাবলী

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি টাইপ
রেফ যে ভেরিয়েবল থেকে মান পেতে হবে। এই উপাদানটিতে একটি আক্ষরিক মান থাকলে ব্যবহার করা উচিত নয়। N/A ঐচ্ছিক স্ট্রিং

ব্যবহারের নোট

পপুলেট ক্যাশে নীতি , লুকআপ ক্যাশে নীতি , এবং InvalidateCache নীতির সাথে সাধারণ উদ্দেশ্য ক্যাশে আপনার কনফিগার করা একটি ক্যাশে বা ডিফল্টরূপে অন্তর্ভুক্ত একটি ভাগ করা ক্যাশে ব্যবহার করে৷ বেশিরভাগ ক্ষেত্রে, অন্তর্নিহিত ভাগ করা ক্যাশে আপনার চাহিদা পূরণ করা উচিত। এই ক্যাশে ব্যবহার করতে, কেবল <CacheResource> উপাদান বাদ দিন।

ক্যাশে কনফিগার করার বিষয়ে আরও জানতে, একটি পরিবেশ ক্যাশে তৈরি এবং সম্পাদনা দেখুন। অন্তর্নিহিত ডেটা স্টোর সম্পর্কে আরও জানতে, ক্যাশে অভ্যন্তরীণ দেখুন।

ত্রুটি কোড

এই বিভাগে ত্রুটির বার্তা এবং ফ্লো ভেরিয়েবলগুলি বর্ণনা করে যেগুলি সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ আপনি একটি প্রক্সির জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা তা জানার জন্য এই তথ্যটি গুরুত্বপূর্ণ৷ আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷

ত্রুটি কোড উপসর্গ

N/A

রানটাইম ত্রুটি

এই নীতি কোনো রানটাইম ত্রুটি নিক্ষেপ না.

স্থাপনার ত্রুটি

আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷

ত্রুটির নাম কারণ ঠিক করুন
InvalidCacheResourceReference এই ত্রুটিটি ঘটে যদি <CacheResource> InvalidateCache নীতিতে উপাদানটি এমন একটি নামে সেট করা হয় যা পরিবেশে যেখানে API প্রক্সি স্থাপন করা হচ্ছে সেখানে বিদ্যমান নেই৷
CacheNotFound ত্রুটি বার্তায় উল্লিখিত নির্দিষ্ট ক্যাশে একটি নির্দিষ্ট বার্তা প্রসেসর উপাদানে তৈরি না হলে এই ত্রুটি ঘটে।

ফল্ট ভেরিয়েবল

N/A

উদাহরণ ত্রুটি প্রতিক্রিয়া

N/A