Citrix ADC

集成缓存

集成缓存在 Citrix ADC 设备上提供内存存储,并向用户提供 Web 内容,而无需往返到源服务器。对于静态内容,集成缓存几乎不需要初始设置。启用集成缓存功能并执行基本设置(例如,确定允许缓存使用的 Citrix ADC 设备内存量)后,集成缓存将使用内置策略来存储和提供特定类型的静态内容,包括简单网页和图像文件。您还可以将集成缓存配置为存储和提供由 Web 和应用程序服务器标记为不可缓存的动态内容(例如,数据库记录和股票报价)。

注意

术语集成缓存可以与 AppCache 互换使用;请注意,从功能角度来看,两个术语的含义相同。

当用户发出此错误报告的新请求时,Citrix ADC 设备将转到源服务器,以获取与报告实例关联的所有响应的更新副本。它将响应存储在内容组中,并将响应提供给用户浏览器,用户浏览器将重新组合并显示报表。

要使设备能够在内容组中查找缓存的对象,您可以配置选择器。选择器将缓存对象与表达式匹配,或者您可以指定用于在内容组中查找对象的参数。如果按照 Citrix 建议使用选择器,请先对其进行配置,以便在配置内容组时可以指定选择器。接下来,设置要添加的任何内容组,以便在配置策略时可用。要完成初始配置,请通过将每个策略绑定到全局绑定点或虚拟服务器来创建策略库。或者,您可以绑定可从其他策略库调用的标签。

集成缓存可以在计划到期之前使用预加载缓存对象方法来改进。要管理缓存数据的处理,可以配置插入到响应中的与缓存相关的标头。集成缓存还可以充当其他缓存服务器的转发代理。

注意:

集成缓存需要熟悉 HTTP 请求和响应。 有关 HTTP 数据结构的信 ,请参阅"<http://livehttpheaders.mozdev.org/>."

集成缓存的工作原理

集成缓存监视流经 Citrix ADC 设备的 HTTP 和 SQL 请求,并将这些请求与存储策略进行比较。根据结果,集成缓存功能会在缓存中搜索响应,或将请求转发到源服务器。对于 HTTP 请求,集成缓存充当缓存中的部分内容,以响应单字节范围和多部分字节范围请求。

如果客户端接受压缩内容,则会压缩缓存的数据。您可以为内容组配置过期时间,并可以有选择地过期内容组中的条目。

从集成缓存提供的数据是hit,从源服务的数据是缓存未命中,如下表所述。

交易类型 规范
缓存命中 Citrix ADC 设备从缓存中提供的响应,包括:静态对象,例如,图像文件和静态网页,200 OK 页,203 个非权威响应页,300 多个选择页,301 永久移动页,302 找到页,304 未修改页,这些响应称为积极的反应. Citrix ADC 设备还会缓存以下负面响应:307 临时重定向页面、403 禁止页面、404 未找到页面、410 已丢失页面。要进一步提高性能,可以将 Citrix ADC 设备配置为缓存更多类型的内容。
可存储缓存小姐 对于可存储缓存未命中,Citrix ADC 设备从源服务器获取响应,并将响应存储在缓存中,然后再将响应存储到客户端。
不可存储缓存小姐 不可存储的缓存缺失不适合缓存。默认情况下,任何包含以下状态代码的响应都是不可存储的缓存缺失:201、202、204、205、206 状态代码、除 403、404 和 410 之外的所有 4xx 代码、5xx 状态代码

注意 要将动态缓存与应用程序基础结构集成,请使用 NITRO API 远程发出缓存命令。例如,您可以配置在更新数据库表时使缓存响应过期的触发器。

要确保缓存响应与源服务器上的数据同步,请配置过期方法。Citrix ADC 设备收到与过期响应匹配的请求时,会刷新来自源服务器的响应。

注意: Citrix 建议您同步 Citrix ADC 设备和一个或多个后端服务器上的时间。

动态缓存的工作原理

动态缓存基于参数-值对、字符串、字符串模式或其他数据评估 HTTP 请求和响应。例如,假设用户在错误报告应用程序中搜索 Bug 31231。浏览器代表用户发送以下请求:

GET /mybugreportingsystem/mybugreport.dll?IssuePage&RecordId=31231&Template=view&TableId=1000

主机:mycompany.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-us,en;q=0.5

. . .

在此示例中,针对此错误报告应用程序的 GET 请求始终包含以下参数:

  • IssuePage
  • RecordID
  • 模板
  • TableId

GET 请求不会更新或更改数据,因此您可以在缓存策略和选择器中配置这些参数,如下所示:

  • 配置缓存策略,该策略在 HTTP 请求中查找字符串 mybugreporting系统和 GET 方法。此策略将匹配的请求定向到内容组中的错误。
  • 在 Bug 的内容组中,您可以配置一个匹配各种参数-值对的 hit 选择器,包括 IssuePage、RecordID 等。

注意

浏览器可以基于一个用户操作发送多个 GET 请求。以下是一系列三个单独的 GET 请求,当用户根据错误 ID 搜索错误时,浏览器会发出这些请求。

GET /mybugreportingsystem/mybugreport.dll?IssuePage&RecordId=31231&Template=view&TableId=1000

GET /mybugreportingsystem/mybugreport.dll?IssuePage&Template=viewbtns&RecordId=31231&TableId=1000

GET /mybugreportingsystem/mybugreport.dll?IssuePage&Template=viewbody&RecordId=31231&tableid=1000

为了满足这些请求,将多个响应发送到用户的浏览器,并且用户看到的网页是响应的汇编。

如果用户更新了错误报告,则必须使用源服务器的数据刷新缓存中的相应响应。当用户更新错误报告时,错误报告应用程序会发出 HTTP POST 请求。在此示例中,您配置以下内容以确保 POST 请求触发缓存中的失效:

  • 一种请求时间失效策略,用于查找字符串 mybugreporting系统和 POST HTTP 请求方法,并将匹配的请求定向到内容组以获取错误报告。
  • 用于根据 RecordID 参数过期缓存内容的错误报告的内容组的失效选择器。此参数显示在所有响应中,因此失效选择器可以过期缓存中的所有相关项目。

以下摘录显示了更新示例错误报告的 POST 请求。

POST /mybugreportingsystem/mybugreport.dll?TransitionForm HTTP/1.1\r\n

用户代理:Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.0)Opera 7.23 [en]\r\n

主机:mybugreportingsystem\r\n

Cookie:ttSearch.134=%23options%3Afalse%23active%23owner%3Afalse%23unowned%3Afalse%23submitter%3Afalse%23incsub%3Atrue;

Cookie2: $Version=1\r\n

. . .

\r\n

ProjectId=2&RecordId=31231&TableId=1000&TransitionId=1&Action=Update&CopyProjectId=0&ReloadForm=0&State=&RecordLockId=49873+issues+in+HTTP&F43. . .

Citrix ADC 设备收到此请求后,将执行以下操作:

  • 将请求与无效策略匹配。
  • 查找策略中命名的内容组。
  • 为此内容组应用失效选择器,并使所有与 RecordID=31231 匹配的响应过期。

当用户发出此错误报告的新请求时,Citrix ADC 设备将转到源服务器,以获取与报告实例关联的所有响应的更新副本。它将响应存储在内容组中,并将响应提供给用户浏览器,用户浏览器将重新组合并显示报表。

配置集成缓存

要使用集成缓存,您必须安装许可证并启用该功能。启用集成缓存后,Citrix ADC® 设备会根据内置策略的指定自动缓存静态对象,并生成有关缓存行为的统计信息。(内置策略在策略名称的初始位置有下划线。)

即使内置策略足以满足您的情况,您也可能需要修改全局属性。例如,您可能需要修改分配给集成缓存的 Citrix ADC 设备内存量。

如果您希望在更改设置之前观察缓存操作,请参阅 “显示缓存对象和缓存统计信息。“

注意: Citrix ADC 缓存是在重新启动设备时清除的内存存储。

安装集成缓存许可证

  • 需要集成缓存许可证。有关许可证的信息,请参阅有关获取许可证主题的信息。

  • 从 Citrix 获取许可证代码,转到命令行界面,然后登录。

在命令行界面中,将许可证文件复制到 /nsconfig/license 文件夹中。

  • 使用以下命令重新启动 Citrix ADC 设备:

reboot

启用集成缓存:启用集成缓存 时,Citrix ADC 设备将开始缓存服务器响应。如果尚未配置任何策略或内容组,则内置策略将缓存的对象存储在默认内容组中。

在命令提示窗口中,键入以下命令之一启用或禁用集成缓存:

enable ns feature IC

配置缓存的全局属性

全局属性应用于所有缓存数据。您可以指定分配给集成缓存的 Citrix ADC 内存量(通过头插入)。用于验证缓存对象是否必须提供服务的条件。缓存中允许的 POST 主体的最大长度,是否绕过 HTTP GET 请求的策略评估,以及在无法评估策略时采取的操作。

缓存内存容量仅受硬件设备的内存限制。此外,nCore Citrix ADC 设备中的任何数据包引擎(所有传入 TCP 请求的中央分发中心)都会知道 nCore Citrix ADC 设备中其他数据包引擎缓存的对象。

注意: 当默认全局内存限制设置为 0 并启用集成缓存 (IC) 功能时,设备不会缓存任何对象。对于缓存,必须显式配置全局内存限制。但是,如果启用“设置身份验证、授权和审核参数启用”选项,则设备中将有一些默认内存配置。此内存不足以缓存大型对象,因此有必要为 IC 分配更高的内存限制。您可以通过配置“set cache parameter –memLimit”命令来执行此操作。只有在保存配置并重新启动设备后,才会应用新设置。

您可以修改为缓存对象配置的全局内存限制。但是,当您将全局内存限制更新为小于现有值的值(例如,从 10 GB 到 4 GB)时,设备将继续使用内存限制。

这意味着,即使集成缓存限制配置为某个值,实际使用的限制可能会更高。但是,当从缓存中删除对象时,会释放过多的内存。

show cache 参数命令的输出指示配置的值(内存使用限制)和正在使用的实际值(内存使用限制(活动值))。

在命令提示窗口中,键入:

set cache parameter [-memLimit <MBytes>] [-via <string>] [-verifyUsing <criterion>] [-maxPostLen <positiveInteger>] [-prefetchMaxPending <positiveInteger>] [-enableBypass(YES|NO)] [-undefAction (NOCACHE|RESET)]

要使用 GUI 启用集成缓存,请执行以下操作:

导航到系统 > 置”,单击“配置基本功能,然后选择集成缓存

使用 GUI 配置缓存的全局设置:

导航到优化 > 集成缓存,单击更改缓存设 置”,然后配置缓存的全局设置。

要设置集成缓存的内置内容组、模式集和策略,请执行以下操作:

Citrix ADC 设备包括可用于缓存内容的内置集成缓存配置。配置包括一个名为 ctx_cg_poc 的内容组、一个名为 ctx_file_extensions 的模式集以及一组集成的缓存策略。在内容组 ctx_cg_poc 中,仅缓存 500 KB 或更小的对象。内容缓存为 86000 秒,内容组的内存限制为 512 MB。模式集是用于文件类型匹配的常用扩展名的索引数组。

下表列出了内置的集成缓存策略。默认情况下,策略不绑定到任何绑定点。如果希望 Citrix ADC 设备根据策略评估流量,则必须将策略绑定到绑定点。策略缓存 ctx_cg_poc 内容组中的对象。

集成缓存策略名称 策略规则
_cacheVPNStaticObjects HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS_INDEX(“ctx_file_extensions”).BETWEEN(101,150)
_cacheTCPVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.css”)
_cacheOCVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.pdf”)
_cacheWFStaticObjects HTTP.REQ.URL.ENDSWITH(“.js”)
_mayNoCacheReq HTTP.RES.HEADER(“Content-Type”).CONTAINS(“application/x-javascript”)
_noCacheRest TRUE

刷新缓存配置

您可以刷新缓存组、缓存组或缓存对象定位器。以下是刷新缓存对象的命令。

在命令提示窗口中,键入:

flush cache contentgroup all

示例

0x00000089bae000000004 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hello
0x00000089bae000000005 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hi

Flush cache contentGroup all
done

flush cache contentgroup <content group name>

示例

0x00000089bae000000004 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hello
0x00000089bae000000005 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hi

Flush cache ob -| 0x00000089bae000000004
done

flush cache object (-locator <positive_integer> | (-url <URL> (-host <string> [-port <port>] [-groupName <string>] [-httpMethod ( GET | POST )])))

示例

0x00000089bae000000006 DEFAULT GET //1.1.1.1:80/html/index.html

flush cache ob -URL /html/index.html -host 1.1.1.1 -groupName DEFAULT
done

使用 Citrix ADC GUI 刷新缓存配置

完成以下步骤以使用 Citrix ADC GUI 配置缓存刷新

  1. 导航至优化 > 内容组
  2. 内容组 详细信息”窗格中,单击添加
  3. 创建高速缓存内容组页中,在其他选项卡下设置以下参数:
    1. 刷新缓存。选中该复选框可刷新缓存对象。
  4. 点击 创建关闭

    刷新缓存对象

为各种场景配置集成缓存

以下部分介绍了 NetScaler 设备上集成缓存的配置,以适用于各种情况。

从 NetScaler 9.2 版本开始,集成缓存具有更多用于缓存的内存。集成缓存内存仅受硬件设备上可用内存的限制。您可以为集成缓存功能分配多达 50% 的可用内存。

使用 CLI 设置缓存的内存分配

在命令提示窗口中,键入:

set cache parameter -memlimit <value>

注意

集成缓存的默认全局内存限制为零。因此,即使启用集成缓存功能,NetScaler 设备也不会缓存任何对象,直到明确设置全局内存限制。

以下部分指导您在不同场景中配置集成缓存。

注意

NetScaler 设备的内存限制将在设备启动时确定。因此,对内存限制的任何更改都需要重新启动设备,以使更改适用于数据包引擎。

集成缓存已启用,缓存内存限制设置为非零

考虑一种情况,即启动设备、启用集成缓存功能并将全局内存限制设置为正数。先前设置的内存将在引导过程中分配给集成缓存功能。您可能希望将内存限制更改为另一个值,具体取决于设备上的可用内存。

使用 CLI 进行配置

  1. 显示缓存参数

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:500 MB 字节
    内存使用限制(活动值):500 MB 字节
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    
  2. 设置非零内存限制

    set cache parameter -memlimit 600
    

注意

上述命令显示以下警告消息: 警告:要使用新的集成缓存内存限制,请保存配置并重新启动 NetScaler 设备。

  1. 保存配置

    save config
    
  2. 在 shell 提示符下,运行以下命令以在配置文件中进行验证。

    root@ns# cat /nsconfig/ns.conf | grep memLimit
    
  3. 更改内存限制

    set cache parameter -memLimit 600 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 0 -enableBypass YES -undefAction NOCACHE
    
  4. 重新启动设备

    root@ns# reboot
    
  5. 验证内存限制的新值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:600 MB 字节
    内存使用限制(活动值):600 MB 字节
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    

在所有数据包引擎成功启动后,集成缓存功能将协商您配置的内存。如果设备无法使用配置的内存,则会相应地分配内存。如果可用内存小于您分配的内存,则设备建议使用较小的内存。集成缓存功能使用与活动值相同。

集成缓存被禁用,缓存内存限制设置为非零

在这种情况下,启动设备时,集成缓存功能将被禁用,并且全局内存限制设置为正数。因此,在引导过程中不会为集成缓存分配内存。

使用 CLI 进行配置

  1. 显示缓存参数

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:600 MB 字节
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    
  2. 设置新的内存限制

    set cache parameter -memlimit 500
    

注意

前面的命令显示以下警告消息: 警告:功能未启用 [IC]

  1. 保存配置

    save config
    
  2. 在 shell 提示符下,运行以下命令以在配置文件中进行验证

    root@ns# cat /nsconfig/ns.conf | grep memLimit
    
  3. 更改内存限制

    set cache parameter -memLimit 500 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 0 -enableBypass YES -undefAction NOCACHE
    
  4. 验证内存限制的新值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:500 MB 字节
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    
  5. 启用集成缓存功能

    enable ns feature IC
    
  6. 验证内存限制的新值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:500 MB
    内存使用限制(活动值):500 MB
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    

注意

500 MB 内存分配给集成缓存功能。

  1. 保存配置以确保在重新启动设备时自动将内存分配给该功能。

集成缓存已启用,缓存内存设置为零

在这种情况下,启动设备时,集成缓存功能将被启用,并且全局内存限制设置为零。因此,在引导过程中不会为集成缓存分配内存。

使用 CLI 进行配置

  1. 从 shell 提示符验证 ns.conf 文件中设置的内存限制

    root@ns# cat ns.conf | grep memLimit
    
  2. 更改内存限制

    set cache parameter -memLimit 0 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE
    
  3. 验证内存限制的值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:0 MB
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    

注意

内存限制设置为 0 MB,并且不为集成缓存功能分配内存。

  1. 设置内存限制以确保集成缓存功能缓存对象

    set cache parameter -memLimit 600
    

运行上述命令后,设备将协商内存以获取集成缓存功能,并将可用内存分配给该功能。它会导致设备缓存对象而无需重新启动设备。

  1. 验证内存限制的值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:600 MB
    内存使用限制(活动值):600 MB
    内存使用限制的最大值:843 MB
    通过标头:NS-CACHE-9.3:
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    

注意

600 MB 的内存分配给集成缓存功能。

  1. 保存配置。确保在重新启动设备时将内存自动分配给该功能。

  2. 从 shell 提示符验证 ns.conf 文件中设置的内存限制

    root@ns# cat /nsconfig/ns.conf | grep memLimit
    
  3. 更改内存限制

    set cache parameter -memLimit 600 -via NS-CACHE-9.3: -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE
    

集成缓存被禁用,缓存内存设置为零

在这种情况下,启动设备时,集成缓存功能将被禁用,并且全局内存限制设置为零。因此,在引导过程中不会为集成缓存分配内存。

使用 CLI 进行配置

  1. 从 shell 提示符验证 ns.conf 文件中设置的内存限制

    root@ns# cat /nsconfig/ns.conf | grep memLimit
    
  2. 更改内存限制

    set cache parameter -memLimit 0 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE
    
  3. 验证内存限制的值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:0 MB
    内存使用限制的最大值:843 MB
    通过标题:NS-CACHE-9.3:18
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    

注意

内存限制设置为 0 MB,并且不为集成缓存功能分配内存。此外,当您运行任何缓存配置命令时,将显示以下警告消息: 警告:功能未启用[IC]

  1. 启用集成缓存功能

    enable ns feature IC
    

注意

在此阶段,当您启用集成缓存功能时,设备不会为该功能分配内存。因此,没有对象缓存到内存中。此外,运行任何缓存配置命令时,将显示以下警告消息:未为 IC 配置内存。Use set cache parameter command to set the memory limit.

  1. 设置内存限制以确保集成缓存功能缓存对象

    set cache parameter -memLimit 500
    

运行上述命令后,设备将协商内存以获取集成缓存功能,并将可用内存分配给该功能。这会导致设备缓存对象而不重新启动设备。

注意

启用功能和设置内存限制的顺序非常重要。如果在启用该功能之前设置了内存限制,则会显示以下警告消息: 警告:功能未启用[IC]

  1. 验证内存限制的值

    > show cache parameter
    集成缓存全局配置:
    内存使用限制:500 MB
    内存使用限制(活动值):500 MB
    内存使用限制的最大值:843 MB
    通过标头:NS-CACHE-9.3:
    使用以下方法验证缓存的对象:HOSTNAME_AND_IP
    要累积的最大 POST 主体大小:0 字节
    当前未完成的预取:0
    最大未完成的预取量:4294967295
    将不缓存策略视为绕过策略:是
    全球 Undef 操作:NOCACHE
    

注意

500 MB 内存分配给集成缓存功能。

  1. 保存配置

    save config
    
  2. 从 shell 提示符验证 ns.conf 文件中设置的内存限制

    root@ns# cat /nsconfig/ns.conf | grep memLimit
    
  3. 更改内存限制

    set cache parameter -memLimit 500 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE
    

集成缓存