データの自動キャッシュ
クエリごとにキャッシュを再構築したくない場合は、データを自動的にキャッシュすると便利です。初めてデータをクエリすると、本製品 はバックグラウンドで自動的にキャッシュを初期化して構築します。AutoCache = true の場合、本製品 は後続のクエリ実行にキャッシュを使用するため、応答時間が短縮されます。
自動キャッシュの設定
Orders テーブルのキャッシュ
次の例は、接続文字列のCacheLocation プロパティで指定されたファイルのOrders テーブルをキャッシュします。
C#
String connectionString = "Cache Location=C:\\cache.db;AutoCache=true;ANID=AN02000000280;API=PurchaseOrdersBuyerAPI-V1;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;AuthScheme=OAuthClient;InitiateOAuth=GETANDREFRESH;OAuthClientId=testClient;OAuthClientSecret=testClientSecret;UseSandbox=false;";
using (SAPAribaProcurementConnection connection = new SAPAribaProcurementConnection(connectionString)) {
SAPAribaProcurementCommand cmd = new SAPAribaProcurementCommand("SELECT DocumentNumber, Revision FROM Orders WHERE VendorId = 'v1'", connection);
SAPAribaProcurementDataReader rdr = cmd.ExecuteReader();
while (rdr.Read()) {
Console.WriteLine("Read and cached the row with Id " + rdr["Id"]);
}
}
VB.NET
Dim connectionString As [String] = "Cache Location=C:\\cache.db;AutoCache=true;ANID=AN02000000280;API=PurchaseOrdersBuyerAPI-V1;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;AuthScheme=OAuthClient;InitiateOAuth=GETANDREFRESH;OAuthClientId=testClient;OAuthClientSecret=testClientSecret;UseSandbox=false;"
Using connection As New SAPAribaProcurementConnection(connectionString)
Dim cmd As New SAPAribaProcurementCommand("SELECT DocumentNumber, Revision FROM Orders WHERE VendorId = 'v1'", connection)
Dim rdr As SAPAribaProcurementDataReader = cmd.ExecuteReader()
While rdr.Read()
Console.WriteLine("Read and cached the row with Id " + rdr("Id"))
End While
End Using
一般的なユースケース
データを自動的にキャッシュする一般的な用途は、レポートの作成やビジュアライゼーションの作成など、ライブデータソースに繰り返し要求を行うときのドライバーのパフォーマンスを向上させることです。自動キャッシュが有効になっていると、同じデータに対する繰り返しの要求は短期間で実行されますが、"ライブ"データと見なされる許容範囲内(CacheTolerance)になります。