在策略上下文之外配置高级策略表达式

许多功能(包括以下功能)可能需要不属于策略一部分的高级策略表达式:

  • 集成缓存选择器:

    您可以在选择器的定义中定义多个非复合表达式(selectlet)。每个选择都与其他选择保持隐式逻辑 AND 关系。

  • 负载平衡:

    为负载平衡虚拟服务器的负载平衡的 TOKEN 方法配置表达式。

  • 重写操作:

    表达式定义重写操作的位置和要执行的重写类型,具体取决于要配置的重写操作的类型。例如,DELETE 操作仅使用目标表达式。REPLACE 操作使用目标表达式和表达式来配置替换文本。

  • 基于速率的策略:

    您可以使用高级策略转换来配置限制选择器。您可以在配置策略以限制到各种服务器的流量速率时使用这些选择器。您可以在选择器的定义中定义最多五个非复合表达式(selectlet)。每个选择列都在隐式逻辑与其他选择列中。

使用 CLI 在策略外配置高级策略表达式(缓存选择器示例)

在命令提示符处,键入以下命令以在策略外配置高级策略表达式并验证配置:

-  add cache selector <selectorName> <rule>
-  show cache selector <selectorName>

示例:

> add cache selector mainpageSelector "http.req.cookie.value("ABC_def")"
    "http.req.url.query.value("_ghi")"selector "mainpageSelector" added
Done
> show cache selector mainpageSelector
            Name: mainpageSelector
            Expressions:
                    1) http.req.cookie.value("ABC_def")
                    2) http.req.url.query.value("_ghi")
Done

下面是使用更具可读性的 q 分隔符的等效命令,如在策略中配置高级策略表达式中所述:

> add cache selector mainpageSelector2 q~http.req.cookie.value("ABC_def")~
    q~http.req.url.query.value("_ghi")~selector "mainpageSelector2" added
Done
> show cache selector mainpageSelector2
            Name: mainpageSelector2
            Expressions:
                    1) http.req.cookie.value("ABC_def")
                    2) http.req.url.query.value("_ghi")
Done

在策略上下文之外配置高级策略表达式