Loading
快取最上層整合程序資料

快取最上層整合程序資料

使用快取儲存經常存取且不常更新的「整合程序」資料,可儲存資料庫的來回行程,並改善效能。您可以快取整合程序的所有資料,如下所述,或者您可以使用「快取區塊」僅快取其中一部分。

若要設定整合程序的最上層快取,請移至「程序組態」並設定「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。

備註
備註 從 Summer ‘25 開始,使用 Connect API 取代 clearSessionCacheclearOrgCacheclearAllCache 方法,以清除快取中的最上層「整合程序」資料。
  • 清除工作階段快取:

    從 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);
    
 
正在載入
Salesforce Help | Article