Citrix ADC

对数据库协议的缓存支持

集成的缓存功能可根据缓存策略来监视和缓存数据库请求。用户必须为 MYSQL 和 MSSQL 协议配置缓存策略,因为 Citrix ADC 设备不提供任何默认策略。配置默认协议时,请记住,基于请求的策略仅支持缓存和 INVAL 操作,而基于响应的策略仅支持“NOCache”操作。配置策略后,必须将它们绑定到虚拟服务器。MYSQL 和 MSSQL 策略(请求和响应)仅绑定到虚拟服务器。

在创建缓存策略之前,必须创建类型为 MYSQL 或 MSSQL 的缓存内容组。创建缓存内容组时,至少将一个选择器与其关联。有关设置缓存内容组的信息,请参阅设置基本内容组

以下示例说明了如何配置和验证 SQL 协议的缓存支持。

> enable feature IC
> set cache parameter -memlimit 100
> add cache selector sel1 mssql.req.query.text

> add cache contentgroup cg1  -type "MSSQL" -hitselector "sel1" -invalselector "inval_sel" -relExpiry "500" -maxResSize
 "100"
> add cache policy cp1  -rule "mssql.req.query.command.contains("select")" -action "CACHE" -storeInGroup "cg1"
> add cache policy cp2  -invalObjects "cg1" -rule "mssql.req.query.text.contains("insert")" -action "INVAL"
> add db user user1  -password "Pass1"
> add service svc_sql_1 10.102.147.70 mssql 64834 -healthMonitor "NO" -downstateflush "ENABLED"
> add lb vserver lb_mssql1 mssql 10.102.147.77 1433  -lbmethod "roundrobin"
> bind lb vserver lb_mssql1 svc_sql_1
> bind lb vserver lb_mssql1 -policyName cp1  -type "REQUEST" -priority "2"
> bind lb vserver lb_mssql1 -policyName cp2  -type "REQUEST" -priority "1"

> show cache selector sel1
     Name:sel1
                    Expressions:
                    1)mssql.req.query.text
> show cache policy cp1
                    Name:cp1
     Rule:mssql.req.query.command.contains("select")
                    CacheAction:CACHE
                    Stored in group: cg1
                    UndefAction:Use Global
                Hits:2
                    Undef Hits:0
                    Policy is bound to following entities
                    1) Bound to:
                                REQ VSERVER lb_mssql1
                                Priority:2
                                GotoPriorityExpression: END

注意:

MySQL 和 MSSQL 协议不支持用于减少闪存人群的方法(如中减少闪光灯人群所述)。

对数据库协议的缓存支持