この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
カスタム API では、レスポンスのキャッシュがサポートされています。 この機能を使用すると、データを繰り返し取得または計算する必要性が減り、パフォーマンスが向上するため、レスポンスタイムが短縮され、システム全体の効率が向上します。 キャッシング戦略についての詳細は、Salesforce B2C Commerce のキャッシング戦略を参照してください。
カスタム API エンドポイントでキャッシングを使用するには、カスタム API を使用するサイトで ページキャッシング を有効にします。その後、レスポンスは次の方法で実装スクリプトにキャッシュできます。
dw.system.Response#setExpires(milliseconds) Script API メソッドを使用して、ここで説明するようにキャッシュ時間を設定します。dw.system.Response#setVaryBy(identifier) Script API メソッドを使用して、ここで説明するようにレスポンスをパーソナライズ済みとしてマークします。これは、レスポンスが実際にパーソナライズされていない場所でパフォーマンスが低下する可能性があるため、注意して使用してください。例 1: レスポンスを 60 秒間キャッシュするカスタム商品 API の実装:
1var RESTResponseMgr = require("dw/system/RESTResponseMgr");
2
3exports.getCustomProduct = function () {
4 var customProduct = // ... some lookup of custom product data ...
5 // set cache time to 60 seconds
6 response.setExpires(Date.now() + 60000);
7
8 RESTResponseMgr.createSuccess(customProduct).render();
9};
10
11exports.getCustomProduct.public = true;例 2: プロモーションに基づいてレスポンスをキャッシュするカスタム商品 API の実装:
1var RESTResponseMgr = require("dw/system/RESTResponseMgr");
2
3exports.getCustomProduct = function () {
4 var customProduct = // ... some lookup of custom product data ...
5 // set caching based on promotion
6 response.setVaryBy("price_promotion");
7
8 RESTResponseMgr.createSuccess(customProduct).render();
9};
10
11exports.getCustomProduct.public = true;