คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
กำหนดค่าวิธีล้างค่าที่แคชไว้จากแคช
นโยบายนี้มีไว้เพื่อใช้ในการแคชแบบอเนกประสงค์ระยะสั้น โดยใช้ร่วมกับ นโยบาย Populate Cache (สำหรับการเขียนรายการ) และนโยบาย Lookup Cache (สำหรับการอ่านรายการแคช)
หากต้องการแคชการตอบกลับของทรัพยากรแบ็กเอนด์ โปรดดูนโยบาย Response Cache
ข้อมูลอ้างอิงองค์ประกอบ
รายการต่อไปนี้แสดงองค์ประกอบที่คุณกำหนดค่าในนโยบายนี้ได้
<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 |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มี | ต้องระบุ |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
เท็จ | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
เท็จ | เลิกใช้ |
<DisplayName> องค์ประกอบ
ใช้เพิ่มเติมจากแอตทริบิวต์ name เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน
<DisplayName>Policy Display Name</DisplayName>
| ค่าเริ่มต้น |
ไม่มี หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ |
|---|---|
| การมีบุคคลอยู่ | ไม่บังคับ |
| ประเภท | สตริง |
องค์ประกอบ <CacheContext>/<APIProxyName>
ระบุชื่อของแอปพลิเคชันที่เพิ่มรายการแคช
<APIProxyName>application_that_added_the_entry</APIProxyName>
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | ประเภท |
|---|---|---|---|---|
| ref | ตัวแปรที่มีชื่อแอปพลิเคชัน | ไม่มี | ไม่บังคับ | สตริง |
องค์ประกอบ <CacheContext>
ระบุวิธีสร้างคีย์แคชเมื่อไม่ได้ระบุค่าองค์ประกอบ 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>
|
ค่าเริ่มต้น: |
ไม่มี |
|
การมีบุคคลอยู่: |
ต้องระบุ |
|
ประเภท: |
ไม่มี |
<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> ดูข้อมูลเพิ่มเติมได้ที่การทำงานกับคีย์แคช
องค์ประกอบ <CacheResource>
ระบุแคชที่ควรจัดเก็บข้อความ
ละเว้นองค์ประกอบนี้โดยสมบูรณ์หากนโยบายนี้ (และนโยบาย PopulateCache และ LookupCache ที่เกี่ยวข้อง) ใช้แคชที่แชร์ซึ่งรวมอยู่ด้วย
<CacheResource>cache_to_use</CacheResource>
|
ค่าเริ่มต้น: |
ไม่มี |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
สตริง |
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าแคชได้ที่ การสร้างและแก้ไขสภาพแวดล้อม แคช
องค์ประกอบ <CacheKey>/<KeyFragment>
ระบุค่าที่ควรนำไปใส่ในคีย์แคช ซึ่งจะสร้างเนมสเปซสำหรับการจับคู่ คำขอที่ส่งมากับการตอบกลับที่แคชไว้
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
ค่าเริ่มต้น: |
ไม่มี |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
ไม่มี |
ค่านี้อาจเป็นคีย์ (ชื่อแบบคงที่ที่คุณระบุ) หรือค่า (รายการแบบไดนามิกที่ตั้งค่าโดย การอ้างอิงตัวแปร) ระบบจะเชื่อมโยงแฟรกเมนต์ที่ระบุทั้งหมด (บวกคำนำหน้า) เข้าด้วยกันเพื่อสร้างคีย์แคช
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
คุณใช้องค์ประกอบ <KeyFragment> ร่วมกับ
<Prefix> และ <Scope> ดูข้อมูลเพิ่มเติมได้ที่การทำงานกับคีย์แคช
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | ประเภท |
|---|---|---|---|---|
| ref | ตัวแปรที่จะดึงค่ามา ไม่ควรใช้หากองค์ประกอบนี้มีค่าลิเทอรัล | ไม่มี | ไม่บังคับ | สตริง |
องค์ประกอบ <CacheKey>/<Prefix>
ระบุค่าที่จะใช้เป็นคำนำหน้าคีย์แคช
<Prefix>prefix_string</Prefix>
|
ค่าเริ่มต้น: |
ไม่มี |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
สตริง |
ใช้ค่านี้แทน <Scope> เมื่อต้องการระบุค่าของคุณเอง
แทนค่าที่แจกแจงของ <Scope> หากกำหนดไว้
<Prefix> จะเพิ่มค่าคีย์แคชสำหรับรายการที่เขียนลงในแคช ค่าองค์ประกอบ
<Prefix> จะลบล้างค่าองค์ประกอบ<Scope>
คุณใช้องค์ประกอบ <Prefix> ร่วมกับ
<CacheKey> และ <Scope> ดูข้อมูลเพิ่มเติมได้ที่การทำงานกับคีย์แคช
องค์ประกอบ <CacheContext>/<ProxyName>
ระบุชื่อของพร็อกซีที่แคชข้อมูลไว้
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
|
ค่าเริ่มต้น: |
ไม่มี |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
สตริง |
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | ประเภท |
|---|---|---|---|---|
| ref | ตัวแปรที่จะดึงค่ามา ไม่ควรใช้หากองค์ประกอบนี้มีค่าลิเทอรัล | ไม่มี | ไม่บังคับ | สตริง |
องค์ประกอบ <PurgeChildEntries>
true เพื่อล้างรายการแคชที่แชร์ค่าที่ตั้งค่าโดยองค์ประกอบ
<KeyFragment> ที่กำหนดค่าไว้สำหรับนโยบายนี้ ระบบจะไม่พิจารณาค่าในส่วนอื่นๆ ของ
คีย์แคช เช่น ในองค์ประกอบ <Prefix>
โปรดทราบว่าต้องระบุองค์ประกอบ <KeyFragment> หากไม่ระบุ
การตั้งค่า "จริง" สำหรับ <PurgeChildEntries> อาจส่งผลให้ระบบล้างรายการทั้งหมดใน
แคช
การล้างรายการแคชทั้งหมดที่มีค่าแฟรกเมนต์คีย์เดียวกันอาจเป็นวิธีที่มีประโยชน์ในการ ล้างรายการที่เกี่ยวข้องหลายรายการพร้อมกัน
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
|
ค่าเริ่มต้น: |
เท็จ |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
บูลีน |
องค์ประกอบ <Scope>
การแจกแจงที่ใช้สร้างคำนำหน้าสำหรับคีย์แคชเมื่อไม่ได้ระบุองค์ประกอบ <Prefix>
ในองค์ประกอบ <CacheKey>
<Scope>scope_enumeration</Scope>
|
ค่าเริ่มต้น: |
"Exclusive" |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
สตริง |
การตั้งค่า <Scope> จะกำหนดคีย์แคชที่เพิ่มตาม
ค่า <Scope> ตัวอย่างเช่น คีย์แคชจะมีรูปแบบดังต่อไปนี้เมื่อ
ตั้งค่าขอบเขตเป็น Exclusive
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
หากมีองค์ประกอบ <Prefix> ใน <CacheKey> องค์ประกอบดังกล่าวจะแทนที่ค่าองค์ประกอบ <Scope> ค่าที่ใช้ได้รวมถึงการแจกแจง
ด้านล่าง
คุณใช้ส่วนประกอบ <Scope> ร่วมกับ
<CacheKey> และ <Prefix> ดูข้อมูลเพิ่มเติมได้ที่การทำงานกับคีย์แคช
ค่าที่ยอมรับ
| ค่าขอบเขต | คำอธิบาย |
|---|---|
Global |
คีย์แคชจะแชร์ในพร็อกซี API ทั้งหมดที่ทำให้ใช้งานได้ในสภาพแวดล้อม ระบบจะเพิ่มคีย์แคชในรูปแบบ orgName __ envName __ หากคุณกำหนดรายการ |
Application |
ใช้ชื่อพร็อกซี API เป็นคำนำหน้า ระบบจะเพิ่มคีย์แคชในรูปแบบ orgName__envName__applicationName. |
Proxy |
ใช้การกำหนดค่า ProxyEndpoint เป็นคำนำหน้า ระบบจะเพิ่มคีย์แคชในรูปแบบ orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName |
Target |
ใช้การกำหนดค่า TargetEndpoint เป็นคำนำหน้า ระบบจะเพิ่มคีย์แคชในรูปแบบ orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName |
Exclusive |
ค่าเริ่มต้น ค่านี้มีความเฉพาะเจาะจงมากที่สุด จึงมีความเสี่ยงน้อยที่สุดที่จะเกิดการชนกันของเนมสเปซ ภายในแคชที่กำหนด คำนำหน้ามี 1 ใน 2 รูปแบบต่อไปนี้
ระบบจะเพิ่มคีย์แคชในรูปแบบ orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName ตัวอย่างเช่น สตริงแบบเต็มอาจมีลักษณะดังนี้ apifactory__test__weatherapi__16__default__apiAccessToken |
องค์ประกอบ <CacheContext>/<TargetName>
ระบุชื่อของปลายทางเป้าหมายที่แคชข้อมูลไว้
<TargetName>endpoint_for_which_data_was_cached</TargetName>
|
ค่าเริ่มต้น: |
ไม่มี |
|
การมีบุคคลอยู่: |
ไม่บังคับ |
|
ประเภท: |
สตริง |
แอตทริบิวต์
| แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | ประเภท |
|---|---|---|---|---|
| ref | ตัวแปรที่จะดึงค่ามา ไม่ควรใช้หากองค์ประกอบนี้มีค่าลิเทอรัล | ไม่มี | ไม่บังคับ | สตริง |
หมายเหตุการใช้งาน
การแคชแบบอเนกประสงค์ด้วยนโยบาย Populate Cache, นโยบาย LookupCache และ
นโยบาย InvalidateCache จะใช้แคชที่คุณกำหนดค่าหรือแคชที่แชร์ซึ่งรวมอยู่โดย
ค่าเริ่มต้น ในกรณีส่วนใหญ่ แคชที่แชร์พื้นฐานควรตอบสนองความต้องการของคุณ หากต้องการใช้แคชนี้
เพียงละเว้นองค์ประกอบ <CacheResource>
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าแคชได้ที่ การสร้างและแก้ไขสภาพแวดล้อม แคช ดูข้อมูลเพิ่มเติมเกี่ยวกับที่เก็บข้อมูลพื้นฐานได้ที่ข้อมูลภายในของแคช
รหัสข้อผิดพลาด
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
คำนำหน้ารหัสข้อผิดพลาด
ไม่มีข้อมูล
ข้อผิดพลาดเกี่ยวกับรันไทม์
นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
| ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
|---|---|---|
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> ในนโยบาย invalidateCache เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
CacheNotFound |
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง | build |
ตัวแปรของข้อผิดพลาด
ไม่มีข้อมูล
ตัวอย่างการตอบกลับข้อผิดพลาด
ไม่มีข้อมูล