คุณกำลังดูเอกสารประกอบของ 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 |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มีข้อมูล | จำเป็น |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
false | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
false | เลิกใช้ |
องค์ประกอบ <DisplayName>
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายในเครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติที่แตกต่างออกไป
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มีข้อมูล หากคุณไม่ใส่องค์ประกอบนี้ ระบบจะใช้ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
Type | สตริง |
องค์ประกอบ <CacheContext>/<APIProxyName>
ระบุชื่อแอปพลิเคชันที่เพิ่มรายการแคช
<APIProxyName>application_that_added_the_entry</APIProxyName>
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | Type |
---|---|---|---|---|
อ้างอิง | ตัวแปรที่มีชื่อแอปพลิเคชัน | ไม่มีข้อมูล | ไม่บังคับ | สตริง |
องค์ประกอบ <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>
ระบุแคชที่ใช้เก็บข้อความ
ข้ามองค์ประกอบนี้ไปเลยหากนโยบายนี้ (และนโยบาย CredentialeCache และ LookupCache ที่เกี่ยวข้อง) ใช้แคชที่แชร์ซึ่งรวมไว้
<CacheResource>cache_to_use</CacheResource>
ค่าเริ่มต้น: |
ไม่มีข้อมูล |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
สตริง |
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าแคชได้ที่การสร้างและแก้ไขแคชของสภาพแวดล้อม
องค์ประกอบ <CacheKey>/<KeyFragment>
ระบุค่าที่ควรรวมอยู่ในคีย์แคชเพื่อสร้างเนมสเปซสำหรับคำขอที่ตรงกันไปยังการตอบกลับที่แคชไว้
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
ค่าเริ่มต้น: |
ไม่มีข้อมูล |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
ไม่มีข้อมูล |
ซึ่งอาจเป็นคีย์ (ชื่อแบบคงที่ที่คุณระบุ) หรือค่า (รายการแบบไดนามิกที่ตั้งค่าโดยการอ้างอิงตัวแปร) Fragment ที่ระบุทั้งหมดรวมกัน (รวมคำนำหน้า) จะเชื่อมกันเพื่อสร้างคีย์แคช
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
คุณใช้องค์ประกอบ <KeyFragment>
ร่วมกับ <Prefix>
และ <Scope>
ดูข้อมูลเพิ่มเติมได้ที่การทํางานกับคีย์แคช
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | Type |
---|---|---|---|---|
อ้างอิง | ตัวแปรที่จะรับค่า ไม่ควรใช้หากองค์ประกอบนี้มีค่าลิเทอรัล | ไม่มีข้อมูล | ไม่บังคับ | สตริง |
องค์ประกอบ <CacheKey>/<Prefix>
ระบุค่าที่จะใช้เป็นคำนำหน้าคีย์แคช
<Prefix>prefix_string</Prefix>
ค่าเริ่มต้น: |
ไม่มีข้อมูล |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
สตริง |
ใช้ค่านี้แทน <Scope>
เมื่อคุณต้องการระบุค่าของคุณเองแทนที่จะเป็นค่าที่แจกแจง <Scope>
หากกำหนดไว้ <Prefix>
จะเพิ่มค่าคีย์ของแคชไว้หน้ารายการที่เขียนลงในแคช ค่าขององค์ประกอบ <Prefix>
จะลบล้างค่าองค์ประกอบ <Scope>
คุณใช้องค์ประกอบ <Prefix>
ร่วมกับ <CacheKey>
และ <Scope>
ดูข้อมูลเพิ่มเติมได้ที่การทํางานกับคีย์แคช
องค์ประกอบ <CacheContext>/<ProxyName>
ระบุชื่อของพร็อกซีที่ข้อมูลแคชไว้
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
ค่าเริ่มต้น: |
ไม่มีข้อมูล |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
สตริง |
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | Type |
---|---|---|---|---|
อ้างอิง | ตัวแปรที่จะรับค่า ไม่ควรใช้หากองค์ประกอบนี้มีค่าลิเทอรัล | ไม่มีข้อมูล | ไม่บังคับ | สตริง |
องค์ประกอบ <PurgeChildEntries>
true
เพื่อลบรายการแคชที่แชร์ค่าที่กำหนดโดยองค์ประกอบ <KeyFragment>
ที่กำหนดค่าสำหรับนโยบายนี้ออกถาวร ระบบจะไม่พิจารณาค่าในส่วนอื่นๆ ของคีย์แคช เช่น ในองค์ประกอบ <Prefix>
โปรดทราบว่าต้องระบุองค์ประกอบ <KeyFragment>
หากไม่ใช่ การตั้งค่า "จริง" สำหรับ <PurgeChildEntries>
อาจทำให้รายการทั้งหมดในแคชถูกลบถาวร
การระบุว่ารายการแคชทั้งหมดของค่า Fragment คีย์เดียวกันเป็นโมฆะอาจเป็นวิธีที่มีประโยชน์ในการลบรายการที่เกี่ยวข้องหลายรายการพร้อมกันในคราวเดียว
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
ค่าเริ่มต้น: |
false |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
บูลีน |
องค์ประกอบ <Scope>
การแจกแจงที่ใช้เพื่อสร้างคำนำหน้าสำหรับคีย์แคชเมื่อไม่ได้ระบุองค์ประกอบ <Prefix>
ในองค์ประกอบ <CacheKey>
<Scope>scope_enumeration</Scope>
ค่าเริ่มต้น: |
"พิเศษ" |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
สตริง |
การตั้งค่า <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>
ค่าเริ่มต้น: |
ไม่มีข้อมูล |
สถานที่ตั้ง: |
ไม่บังคับ |
ประเภท: |
สตริง |
Attributes
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ | Type |
---|---|---|---|---|
อ้างอิง | ตัวแปรที่จะรับค่า ไม่ควรใช้หากองค์ประกอบนี้มีค่าลิเทอรัล | ไม่มีข้อมูล | ไม่บังคับ | สตริง |
หมายเหตุการใช้งาน
การแคชที่มีจุดประสงค์ทั่วไปโดยใช้นโยบาย Credentiale Cache, นโยบาย LookupCache และนโยบาย PermissionsateCache โดยใช้แคชที่คุณกำหนดค่าหรือแคชที่แชร์ซึ่งมีอยู่แล้วโดยค่าเริ่มต้น ในกรณีส่วนใหญ่ แคชที่ใช้ร่วมกันซึ่งอยู่เบื้องหลังควรตรงตามความต้องการของคุณ หากต้องการใช้แคชนี้ เพียงละเว้นองค์ประกอบ <CacheResource>
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าแคชได้ที่การสร้างและแก้ไขแคชของสภาพแวดล้อม ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูลที่สำคัญได้ที่แคชภายใน
รหัสข้อผิดพลาด
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
คำนำหน้ารหัสข้อผิดพลาด
ไม่มีข้อมูล
ข้อผิดพลาดเกี่ยวกับรันไทม์
นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> ในนโยบาย invalidateCache เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
CacheNotFound |
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง | build |
ตัวแปรของข้อผิดพลาด
ไม่มีข้อมูล
ตัวอย่างการตอบกลับข้อผิดพลาด
ไม่มีข้อมูล