統合キャッシュ機能は、キャッシュポリシーによって決定されたデータベース要求を監視し、キャッシュします。NetScalerアプライアンスにはデフォルトポリシーがないため、ユーザーはMYSQLおよびMSSQLプロトコルのキャッシュポリシーを構成する必要があります。デフォルトプロトコルを設定する場合、リクエストベースのポリシーは CACHE と INVAL アクションのみをサポートするのに対し、応答ベースのポリシーは「NOCACHE」アクションのみをサポートしていることに注意してください。ポリシーを設定したら、それらを仮想サーバーにバインドする必要があります。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