マッシュアップ内のサービスデータのキャッシュ
マッシュアップ内でデータの取得に使用されるサービスのデータのキャッシュを有効にできます。キャッシュによってサーバーに対するネットワークリクエストの数が減ることで、パフォーマンスとユーザーエクスペリエンスが向上します。たとえば、サービスが頻繁に実行され、返されるデータは頻繁に変わらない場合は特に、ロードに数秒かかるサービスをキャッシュするとネットワークの使用量を削減できます。キャッシュが有効でプロパティ CacheDuration が設定されている場合、指定した時間が経過してキャッシュが期限切れになるまで、サービスの結果は一時的にブラウザに保存されます。
マッシュアップ内のサービスのキャッシュの有効化
マッシュアップ内のサービスのキャッシュを有効にするには、次の手順に従います。
1. Mashup Builder で、「データ」パネルを開き、キャッシュするデータサービスを選択してそのデータプロパティを表示します。
2. 「データプロパティ」パネルの「アドバンス」で、プロパティ CacheReturnedData の横のチェックボックスをオンにします。
3. プロパティ CacheDuration を使用して、結果を保存しておく時間をミリ秒単位で指定します。
4. 必要に応じて、プロパティ CacheStrategy を使用して、キャッシュストレージのストラテジーを指定します。
5. 特定のパラメータ入力の結果をキャッシュするには、CacheKeyParameters の値のドロップダウンリストからパラメータを選択します。
6. 「保存」をクリックし、「マッシュアップを表示」をクリックします。
ランタイムで、そのサービスが初めて実行されたときにサービスデータがキャッシュされます。プロパティ CacheKeyParameters を使用してサービスに選択した入力パラメータに基づいて返されたすべてのデータがキャッシュされます。CacheDuration で設定した時間が経過するまでは、サービスが再度実行されると、保存されているキャッシュからデータが取得されます。
キャッシュストラテジーの選択
プロパティ CacheStrategy を使用して、キャッシュされたデータを次の 2 つの方法のいずれかで保存できます。
• 「マッシュアップインスタンス」 - 現在のマッシュアップインスタンスの一意の識別子に基づいてキャッシュが生成されます。このストラテジーを使用すると、マッシュアップのインスタンスごとに別個のキャッシュが作成されるので、エンティティとサービスが同じであっても、マッシュアップインスタンスごとに異なるデータが表示される場合に便利です。
• 「マッシュアップ名」 - マッシュアップ、エンティティ、サービス名に基づいてキャッシュが生成されます。コレクションウィジェットなど、マッシュアップの複数のインスタンスに同じデータが表示されることが想定されている場合や、マッシュアップがほかのマッシュアップ内に埋め込まれている場合に、このストラテジーを使用します。このストラテジーはインスタンスキャッシュほど個別化されておらず、キャッシュは同じマッシュアップのすべてのインスタンスで共有されます。
サービスキャッシュのプロパティ
次の表に、「データプロパティ」パネルのサービスに使用可能なキャッシュプロパティを示します。
プロパティ | 説明 | ベースタイプ | デフォルト値 |
---|
CacheReturnedData | サーバーから返されたデータをキャッシュするには、これを有効にします。 | BOOLEAN | False |
CacheDuration | キャッシュされたデータを保持する時間をミリ秒単位で設定します。データがキャッシュされている場合、この時間が経過した後でのみ、サーバーから新しいデータが取得されます。 | INTEGER | |
CacheStrategy | キャッシュの保存方法を制御します。キャッシュされた結果を「マッシュアップインスタンス」または「マッシュアップ名」に基づいて保存できます。 | STRING | マッシュアップインスタンス |
CacheKeyParameters | ドロップダウンリストが開き、キャッシュキーの生成に使用する入力パラメータを選択できます。サービス入力パラメータを選択すると、その入力でのサービスの結果がキャッシュされます。 | STRING | |
MaxResultSets | データサービスで保存する結果の最大数を制御します。入力パラメータが更新されると、新しい結果がキャッシュされます。最大数に達すると、最も古い結果が削除されます。 | INTEGER | 10 |