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> উপাদানটি বাদ দিন।

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

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

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

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
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 বৈশিষ্ট্যের মান ব্যবহার করা হবে।

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

<AssignTo> উপাদান

ক্যাশে থেকে পুনরুদ্ধার করার পরে ক্যাশে এন্ট্রি বরাদ্দ করা হয় এমন ভেরিয়েবলটি নির্দিষ্ট করে। ভেরিয়েবল অবশ্যই লেখার যোগ্য হতে হবে। যদি ক্যাশে লুকআপ একটি মান পুনরুদ্ধার না করে, তাহলে ভেরিয়েবল সেট করা হবে না।

<AssignTo>variable_to_receive_cached_value</AssignTo>

ডিফল্ট:

N/A

উপস্থিতি:

প্রয়োজন

প্রকার:

স্ট্রিং

<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> এর সাথে ব্যবহার করেন। আরও তথ্যের জন্য, ক্যাশে কীগুলির সাথে কাজ করা দেখুন।

<CacheLookupTimeoutInSeconds> উপাদান

সেকেন্ডের সংখ্যা নির্দিষ্ট করে যার পরে একটি অসফল ক্যাশে লুকআপ ক্যাশে মিস বলে বিবেচিত হবে৷ যদি এটি ঘটে, ক্যাশে-মিস পাথ বরাবর প্রবাহ পুনরায় শুরু হয়।

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

ডিফল্ট:

30

উপস্থিতি:

ঐচ্ছিক

প্রকার:

পূর্ণসংখ্যা

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

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

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

<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> উপাদান ব্যবহার করেন। আরও তথ্যের জন্য, ক্যাশে কীগুলির সাথে কাজ করা দেখুন।

গুণাবলী

বৈশিষ্ট্য টাইপ ডিফল্ট প্রয়োজন বর্ণনা
রেফ স্ট্রিং না

যে ভেরিয়েবল থেকে মান পেতে হবে। এই উপাদানটিতে একটি আক্ষরিক মান থাকলে ব্যবহার করা উচিত নয়।

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

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

<Prefix>prefix_string</Prefix>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

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

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

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

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

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

সাধারণ-উদ্দেশ্য ক্যাশিংয়ের জন্য এই নীতিটি ব্যবহার করুন। রানটাইমে, LookupCache নীতি ক্যাশে থেকে একটি মান পুনরুদ্ধার করে, AssignTo উপাদানের সাথে আপনার নির্দিষ্ট করা ভেরিয়েবলের মান নির্ধারণ করে (যদি কোনো মান পুনরুদ্ধার করা না হয়, ভেরিয়েবল সেট করা হবে না)। এটি ক্যাশকি এবং স্কোপ উপাদানগুলিকে একত্রিত করে কনফিগারেশনের মাধ্যমে তৈরি করা ক্যাশে কী-এর উপর ভিত্তি করে মানটি সন্ধান করে। অন্য কথায়, একটি PopulateCache নীতি দ্বারা ক্যাশে যোগ করা একটি নির্দিষ্ট মান পুনরুদ্ধার করতে, আপনার LookupCache নীতিতে অবশ্যই ক্যাশে কী-সম্পর্কিত উপাদানগুলি PopulateCache নীতির মতো কনফিগার করা থাকতে হবে।

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

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

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

ফ্লো ভেরিয়েবলগুলি HTTP শিরোনাম বা বার্তা বিষয়বস্তুর উপর ভিত্তি করে নীতি এবং প্রবাহের জন্য গতিশীল রানটাইম আচরণ কনফিগার করতে ব্যবহার করা যেতে পারে বা প্রবাহে উপলব্ধ প্রসঙ্গ। ফ্লো ভেরিয়েবল সম্পর্কে আরও তথ্যের জন্য, ভেরিয়েবল রেফারেন্স দেখুন।

আপনি একটি LookupCache নীতিতে সংজ্ঞায়িত ক্যাশের আচরণ কাস্টমাইজ করার পরে নিম্নলিখিত পূর্বনির্ধারিত ফ্লো ভেরিয়েবলগুলি উপলব্ধ।

ভেরিয়েবল টাইপ অনুমতি বর্ণনা
lookupcache{policy-name}.cachename স্ট্রিং শুধুমাত্র পঠনযোগ্য নীতিতে ব্যবহৃত ক্যাশের নাম ফেরত দেয়।
lookupcache{policy-name}.cachekey স্ট্রিং শুধুমাত্র পঠনযোগ্য ব্যবহৃত কী ফেরত দেয়।
লুকআপক্যাশে।পলিসি-নাম}.ক্যাচেহিট বুলিয়ান শুধুমাত্র পঠনযোগ্য নীতি নির্দিষ্ট ক্যাশে কী-এর জন্য একটি মান খুঁজে পেলে সত্য।
lookupcache{policy-name}.assignto স্ট্রিং শুধুমাত্র পঠনযোগ্য ক্যাশে বরাদ্দ করা ভেরিয়েবল ফেরত দেয়।

ত্রুটি কোড

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

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

N/A

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

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

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

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

ত্রুটির নাম কারণ ঠিক করুন
InvalidCacheResourceReference এই ত্রুটিটি ঘটে যদি <CacheResource> উপাদানটি এমন একটি নামে সেট করা হয় যা API প্রক্সি স্থাপন করা হয় এমন পরিবেশে বিদ্যমান নেই।
InvalidTimeout যদি <CacheLookupTimeoutInSeconds> উপাদানটি একটি ঋণাত্মক সংখ্যায় সেট করা থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।
CacheNotFound ত্রুটি বার্তায় উল্লিখিত নির্দিষ্ট ক্যাশে একটি নির্দিষ্ট বার্তা প্রসেসর উপাদানে তৈরি না হলে এই ত্রুটি ঘটে।

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

N/A

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

N/A