您位於此處:
快取最上層整合程序資料
使用快取儲存經常存取且不常更新的「整合程序」資料,可儲存資料庫的來回行程,並改善效能。您可以快取整合程序的所有資料,如下所述,或者您可以使用「快取區塊」僅快取其中一部分。
若要設定整合程序的最上層快取,請移至「程序組態」並設定「Salesforce Platform 快取類型」和「時間為分鐘數」內容。請參閱 設定整合程序的最上層快取。
如果已啟用最上層快取的整合程序失敗,則不會快取其資料。
預覽最上層快取的選項
當您在「預覽」索引標籤中測試使用最上層快取的整合程序時,您可以在「選項 JSON」區段中使用兩個快取設定。這些設定可控制最上層資料,且不會影響中繼資料快取。
-
ignoreCache— 不會清除或將資料儲存至快取。預設值為true。使用此設定來測試「整合程序」步驟,而不會造成快取影響。 -
resetCache— 強制將資料儲存至快取。預設值為false。使用此設定作為測試快取本身的一部分。
若要測試快取,請務必將 ignoreCache 設為 false。請參閱 建立最上層快取範例。
當您叫用使用 REST API 快取的整合程序時,可以傳遞 ignoreCache 和 resetCache 作為參數。例如,您可以在 URL 中包含 ?resetCache=true 以強制快取。請參閱 REST API 的 整合程序叫用。
最上層快取 JSON 節點和 REST 標題
如果已設定最上層快取,且「整合程序」已啟用,則「整合程序 JSON」可在根節點下包含下列節點:
-
vlcCacheKey— 儲存在快取中任何資料的金鑰 -
vlcCacheResult— 包含並設定為 true (如果從快取中提取資料) -
vlcCacheEnabled— 如果ignoreCache設定停用快取,則包含並設定為 false -
vlcCacheException— 任何快取錯誤
如果您使用 REST API 叫用使用最上層快取的整合程序,則會將這些節點傳回為標題。請參閱 REST API 的 整合程序叫用。
清除最上層資料的方法
若要清除快取中最上層「整合程序」資料,請在「開發人員主控台」中執行這些 Connect API。
clearSessionCache、clearOrgCache 和 clearAllCache 方法,以清除快取中的最上層「整合程序」資料。- 清除工作階段快取:
從 Summer ‘25 開始,使用此 API 取代
IntegrationProcedureService.clearSessionCache('Type_Subtype', new Map<String, Object>{'key' => 'value'})方法:ConnectApi.IntegrationProcedureCacheInputRepresentation finalInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); ConnectApi.IntegrationProcedureCacheInputData apexInput = new ConnectApi.IntegrationProcedureCacheInputData(); apexInput.ipKey = ipKey; apexInput.inputData = JSON.serialize(inputData); List l = new List(); l.add(apexInput); finalInput.ipInput = l; finalInput.cacheStorageType = ConnectApi.CacheStorageType.Session; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(finalInput);ipKey:指定以 Type_Subtype 格式叫用的整合程序。
inputData:以 Map<string,object> 格式指定輸入。
- 使用
vlcCacheKey清除工作階段快取:從 Summer ‘25 開始,使用此 API 取代
IntegrationProcedureService.clearSessionCache('vlcCacheKey')方法:ConnectApi.IntegrationProcedureCacheInputRepresentation apexInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); List cacheKeyList = new List(); cacheKeyList.add(vlcCacheKey); apexInput.cacheKeys= cacheKeyList; apexInput.cacheStorageType = ConnectApi.CacheStorageType.Session; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(apexInput); - 清除組織快取:
從 Summer ‘25 開始,使用此 API 取代
IntegrationProcedureService.clearOrgCache('Type_Subtype', new Map<String, Object>{'key' => 'value'})方法:ConnectApi.IntegrationProcedureCacheInputRepresentation finalInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); ConnectApi.IntegrationProcedureCacheInputData apexInput = new ConnectApi.IntegrationProcedureCacheInputData(); apexInput.ipKey = ipKey; apexInput.inputData = JSON.serialize(inputData); List<ConnectApi.IntegrationProcedureCacheInputData> l = new List<ConnectApi.IntegrationProcedureCacheInputData>(); l.add(apexInput); finalInput.ipInput = l; finalInput.cacheStorageType = ConnectApi.CacheStorageType.Org; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(finalInput); - 使用
vlcCacheKey清除組織快取:從 Summer ‘25 開始,使用此 API 取代
IntegrationProcedureService.clearOrgCache('vlcCacheKey')方法:ConnectApi.IntegrationProcedureCacheInputRepresentation apexInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); List<String> cacheKeyList = new List<String>(); cacheKeyList.add(vlcCacheKey); apexInput.cacheKeys= cacheKeyList; apexInput.cacheStorageType = ConnectApi.CacheStorageType.Org; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(apexInput); - 清除整合程序的所有快取資料,包括工作階段快取資料、組織快取資料和中繼資料:
從 Summer ‘25 開始,使用此 API 取代
IntegrationProcedureService.clearAllCache('Type_Subtype')方法:ConnectApi.IntegrationProcedureCacheInputRepresentation finalInput = new ConnectApi.IntegrationProcedureCacheInputRepresentation(); ConnectApi.IntegrationProcedureCacheInputData apexInput = new ConnectApi.IntegrationProcedureCacheInputData(); apexInput.ipKey = ipKey; List<ConnectApi.IntegrationProcedureCacheInputData> l = new List<ConnectApi.IntegrationProcedureCacheInputData>(); l.add(apexInput); finalInput.ipInput = l; finalInput.cacheStorageType = ConnectApi.CacheStorageType.All; ConnectApi.IntegrationProcedureCacheOutputRepresentation test = ConnectApi.OmniDesignerConnect.ClearIntegrationProcedureCache(finalInput);
