Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Định cấu hình cách xoá các giá trị được lưu vào bộ nhớ đệm khỏi bộ nhớ đệm.
Chính sách này được dùng để lưu vào bộ nhớ đệm ngắn hạn cho mục đích chung. Chính sách này được dùng kết hợp với chính sách Điền vào bộ nhớ đệm (để ghi các mục) và chính sách Tra cứu bộ nhớ đệm (để đọc các mục trong bộ nhớ đệm).
Để lưu vào bộ nhớ đệm các phản hồi của tài nguyên phụ trợ, hãy xem chính sách Bộ nhớ đệm phản hồi.
Tài liệu tham khảo về phần tử
Sau đây là danh sách các phần tử mà bạn có thể định cấu hình trên chính sách này.
<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>
Thuộc tính <InvalidateCache>
Bảng sau đây mô tả những thuộc tính chung cho tất cả phần tử mẹ của chính sách:
| Thuộc tính | Mô tả | Mặc định | Sự hiện diện |
|---|---|---|---|
name |
Tên nội bộ của chính sách. Giá trị của thuộc tính (Không bắt buộc) Bạn có thể dùng phần tử |
Không áp dụng | Bắt buộc |
continueOnError |
Đặt thành Đặt thành |
false | Không bắt buộc |
enabled |
Hãy đặt thành Đặt thành |
đúng | Không bắt buộc |
async |
Thuộc tính này không được dùng nữa. |
false | Không được dùng nữa |
<DisplayName> phần tử
Hãy sử dụng cùng với thuộc tính name để gắn nhãn chính sách trong phần
trình chỉnh sửa proxy giao diện người dùng quản lý có tên ngôn ngữ tự nhiên khác.
<DisplayName>Policy Display Name</DisplayName>
| Mặc định |
Không áp dụng Nếu bạn bỏ qua phần tử này, giá trị của thuộc tính |
|---|---|
| Sự hiện diện | Không bắt buộc |
| Loại | Chuỗi |
Phần tử <CacheContext>/<APIProxyName>
Chỉ định tên của ứng dụng đã thêm mục nhập vào bộ nhớ đệm.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị | Loại |
|---|---|---|---|---|
| ref | Biến có tên ứng dụng. | Không áp dụng | Không bắt buộc | Chuỗi |
Phần tử <CacheContext>
Chỉ định cách tạo khoá bộ nhớ đệm khi không chỉ định giá trị phần tử Prefix hoặc để xoá các mục trong bộ nhớ đệm do một proxy API khác thêm vào.
<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>
Được dùng để tạo CacheKey. Bạn phải cung cấp các giá trị cho APIProxyName, ProxyName và TargetName khi không dùng tiền tố CacheKey (tức là tiền tố tuỳ chỉnh) để xoá các mục trong bộ nhớ đệm do một API proxy khác thêm vào.
Phần tử <CacheKey>
Định cấu hình một con trỏ duy nhất cho một phần dữ liệu được lưu trữ trong bộ nhớ đệm.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
|
Mặc định: |
Không áp dụng |
|
Trạng thái hiện diện: |
Bắt buộc |
|
Loại: |
Không áp dụng |
<CacheKey> tạo tên cho từng phần dữ liệu được lưu trữ trong bộ nhớ đệm.
Trong thời gian chạy, các giá trị <KeyFragment> được thêm vào trước bằng giá trị phần tử <Scope> hoặc giá trị <Prefix>. Ví dụ: kết quả sau đây sẽ tạo ra một khoá lưu vào bộ nhớ đệm là UserToken__apiAccessToken__<value_of_client_id>:
<CacheKey>
<Prefix>UserToken</Prefix>
<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />
</CacheKey>Bạn sử dụng phần tử <CacheKey> cùng với <Prefix> và <Scope>. Để biết thêm thông tin, hãy xem phần Xử lý khoá bộ nhớ đệm.
Phần tử <CacheResource>
Chỉ định bộ nhớ đệm nơi lưu trữ thư.
Bỏ hoàn toàn phần tử này nếu chính sách này (và các chính sách PopulateCache và LookupCache tương ứng) đang sử dụng bộ nhớ đệm dùng chung đi kèm.
<CacheResource>cache_to_use</CacheResource>
|
Mặc định: |
Không áp dụng |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Chuỗi |
Để biết thêm thông tin về cách định cấu hình bộ nhớ đệm, hãy xem phần Tạo và chỉnh sửa bộ nhớ đệm môi trường.
Phần tử <CacheKey>/<KeyFragment>
Chỉ định một giá trị cần được đưa vào khoá bộ nhớ đệm, tạo một không gian tên để so khớp các yêu cầu với các phản hồi được lưu vào bộ nhớ đệm.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
|
Mặc định: |
Không áp dụng |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Không áp dụng |
Đây có thể là một khoá (tên tĩnh mà bạn cung cấp) hoặc một giá trị (một mục nhập động do bạn đặt bằng cách tham chiếu đến một biến). Tất cả các đoạn được chỉ định kết hợp (cộng với tiền tố) được nối để tạo khoá bộ nhớ đệm.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Bạn sử dụng phần tử <KeyFragment> cùng với <Prefix> và <Scope>. Để biết thêm thông tin, hãy xem phần Xử lý khoá bộ nhớ đệm.
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị | Loại |
|---|---|---|---|---|
| ref | Biến mà bạn muốn lấy giá trị. Không nên sử dụng nếu phần tử này chứa một giá trị cố định. | Không áp dụng | Không bắt buộc | Chuỗi |
Phần tử <CacheKey>/<Prefix>
Chỉ định một giá trị để dùng làm tiền tố khoá bộ nhớ đệm.
<Prefix>prefix_string</Prefix>
|
Mặc định: |
Không áp dụng |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Chuỗi |
Hãy sử dụng giá trị này thay vì <Scope> khi bạn muốn chỉ định giá trị của riêng mình thay vì giá trị được liệt kê <Scope>. Nếu được xác định, <Prefix> sẽ thêm giá trị khoá của bộ nhớ đệm vào các mục được ghi vào bộ nhớ đệm. Giá trị phần tử <Prefix> sẽ thay thế giá trị phần tử <Scope>.
Bạn sử dụng phần tử <Prefix> cùng với <CacheKey> và <Scope>. Để biết thêm thông tin, hãy xem phần Xử lý khoá bộ nhớ đệm.
Phần tử <CacheContext>/<ProxyName>
Chỉ định tên của proxy mà dữ liệu được lưu vào bộ nhớ đệm.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
|
Mặc định: |
Không áp dụng |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Chuỗi |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị | Loại |
|---|---|---|---|---|
| ref | Biến mà bạn muốn lấy giá trị. Không nên sử dụng nếu phần tử này chứa một giá trị cố định. | Không áp dụng | Không bắt buộc | Chuỗi |
Phần tử <PurgeChildEntries>
true để xoá các mục trong bộ nhớ đệm dùng chung giá trị do phần tử <KeyFragment> được định cấu hình cho chính sách này đặt. Các giá trị trong những phần khác của khoá bộ nhớ đệm, chẳng hạn như trong các phần tử <Prefix>, không được xem xét.
Xin lưu ý rằng bạn phải chỉ định phần tử <KeyFragment>. Nếu không, việc đặt giá trị true cho <PurgeChildEntries> có thể dẫn đến việc xoá tất cả các mục trong bộ nhớ đệm.
Việc vô hiệu hoá tất cả các mục trong bộ nhớ đệm có cùng giá trị phân đoạn khoá có thể là một cách hữu ích để xoá nhiều mục có liên quan cùng một lúc.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
|
Mặc định: |
false |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Boolean |
Phần tử <Scope>
Liệt kê dùng để tạo tiền tố cho khoá bộ nhớ đệm khi phần tử <Prefix> không được cung cấp trong phần tử <CacheKey>.
<Scope>scope_enumeration</Scope>
|
Mặc định: |
"Độc quyền" |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Chuỗi |
Chế độ cài đặt <Scope> xác định một khoá bộ nhớ đệm được thêm vào theo giá trị <Scope>. Ví dụ: khoá lưu vào bộ nhớ đệm sẽ có dạng sau khi phạm vi được đặt thành Exclusive:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
Nếu phần tử <Prefix> xuất hiện trong <CacheKey>, thì phần tử này sẽ thay thế giá trị của phần tử <Scope>. Các giá trị hợp lệ bao gồm các giá trị liệt kê bên dưới.
Bạn sử dụng phần tử <Scope> cùng với <CacheKey> và <Prefix>. Để biết thêm thông tin, hãy xem phần Xử lý khoá bộ nhớ đệm.
Giá trị được chấp nhận
| Giá trị phạm vi | Mô tả |
|---|---|
Global |
Khoá lưu vào bộ nhớ đệm được chia sẻ trên tất cả các proxy API được triển khai trong môi trường. Khoá lưu vào bộ nhớ đệm được thêm vào ở dạng orgName __ envName __. Nếu bạn xác định một mục nhập |
Application |
Tên của proxy API được dùng làm tiền tố. Khoá bộ nhớ đệm được thêm vào ở dạng orgName__envName__applicationName. |
Proxy |
Cấu hình ProxyEndpoint được dùng làm tiền tố. Khoá bộ nhớ đệm được thêm vào ở dạng orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName. |
Target |
Cấu hình TargetEndpoint được dùng làm tiền tố. Khoá lưu vào bộ nhớ đệm được thêm vào ở dạng orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName. |
Exclusive |
Mặc định. Đây là cách cụ thể nhất và do đó, giảm thiểu nguy cơ xảy ra xung đột không gian tên trong một bộ nhớ đệm nhất định. Tiền tố có một trong hai dạng sau:
Khoá bộ nhớ đệm được thêm vào ở dạng orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Ví dụ: chuỗi đầy đủ có thể trông như sau: apifactory__test__weatherapi__16__default__apiAccessToken |
Phần tử <CacheContext>/<TargetName>
Chỉ định tên của điểm cuối mục tiêu mà dữ liệu được lưu vào bộ nhớ đệm.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
|
Mặc định: |
Không áp dụng |
|
Trạng thái hiện diện: |
Không bắt buộc |
|
Loại: |
Chuỗi |
Thuộc tính
| Thuộc tính | Mô tả | Mặc định | Tỷ lệ hiển thị | Loại |
|---|---|---|---|---|
| ref | Biến mà bạn muốn lấy giá trị. Không nên sử dụng nếu phần tử này chứa một giá trị cố định. | Không áp dụng | Không bắt buộc | Chuỗi |
Lưu ý về cách sử dụng
Tính năng lưu vào bộ nhớ đệm cho mục đích chung bằng chính sách Populate Cache, chính sách LookupCache và chính sách InvalidateCache sử dụng bộ nhớ đệm mà bạn định cấu hình hoặc bộ nhớ đệm dùng chung được đưa vào theo mặc định. Trong hầu hết các trường hợp, bộ nhớ đệm dùng chung cơ bản sẽ đáp ứng nhu cầu của bạn. Để sử dụng bộ nhớ đệm này, bạn chỉ cần bỏ qua phần tử <CacheResource>.
Để biết thêm thông tin về cách định cấu hình bộ nhớ đệm, hãy xem phần Tạo và chỉnh sửa bộ nhớ đệm môi trường. Để biết thêm về kho dữ liệu cơ bản, hãy xem bài viết Cấu trúc bộ nhớ đệm.
Mã lỗi
Phần này mô tả các thông báo lỗi và biến luồng được thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi cho một proxy. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Tiền tố mã lỗi
Không áp dụng
Lỗi thời gian chạy
Chính sách này không gửi bất kỳ lỗi thời gian chạy nào.
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
| Tên lỗi | Nguyên nhân | Khắc phục |
|---|---|---|
InvalidCacheResourceReference |
Lỗi này xảy ra nếu phần tử <CacheResource> trong chính sách InvalidateCache được đặt thành tên không tồn tại trong môi trường nơi proxy API đang được triển khai. |
build |
CacheNotFound |
Lỗi này xảy ra nếu bộ nhớ đệm cụ thể được đề cập trong thông báo lỗi chưa được tạo trên một thành phần cụ thể của Trình xử lý thông báo. | build |
Biến lỗi
Không áp dụng
Ví dụ về phản hồi lỗi
Không áp dụng