1. 行政

Commerce Engine Connectのキャッシュ

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Commerce Engine (CE) Connectキャッシュは、カタログエンティティをストアフロントからすばやくアクセスできるようにします。Commerceカタログのサイズとその構造の複雑さは、メモリ キャッシュの動作に影響を与える可能性があります。

Sitecore XCソリューションは、次の2つのCommerce Engine Connectキャッシュ プロバイダーをサポートしています。

  • Redis - Redisキャッシュ プロバイダーは、統合、テスト、運用環境などの分散デプロイ用です。デフォルトでは、Commerce Engine ConnectはRedisキャッシュを使用します。

  • Memory - インメモリ キャッシュは、単一サーバーのデプロイと開発環境専用です。

Commerce Engine Connect分散キャッシング

分散型コマースデプロイメントでは、Commerce Engine (CE) ConnectはRedisを使用してカタログエンティティをキャッシュし、Content Delivery (CD) 環境とContent Management (CM) 環境の性能を向上させます。Redisの1つのインスタンスには、CE ConnectキャッシングとCommerce Engineキャッシングの両方のキャッシュストアを含めることができます。CE Connectキャッシュ・ストアはDB0を使用します。Commerce Engineキャッシュ ストアはDB1を使用します。

Commerce Engine Connect distributed caching in Content Delivery and Content Management environments using Redis.

CE Connectキャッシング構成

CE Connectキャッシング・サービス・プロバイダーを変更したり、キャッシング構成を微調整してCommerceストアフロントの要件を満たすことができます。CE Connectキャッシュの設定は、Sitecore.Commerce.Engine.Connect.configファイル内のc:\inetpub\wwwroot\<site>\App_Config\Include\Y.Commerce.Engineフォルダーにあります。

メモ

Redisキャッシュ プロバイダーは、CE Connectキャッシュ構成で既定で有効になっています。Redisとインメモリキャッシュプロバイダの両方を有効にした場合、または両方を無効にした場合、CE Connectはインメモリキャッシングを使用します。

次に、Sitecore.Commerce.Engine.Connect.configファイル内のRedisキャッシュ設定の例を示します。

<!-- Redis cache provider configuration --> <commerceCachingConfiguration type="Sitecore.Commerce.Engine.Connect.CommerceCachingConfiguration,Sitecore.Commerce.Engine.Connect.Caching">
  <cachingSettings type="Sitecore.Commerce.Engine.Connect.CachingSettings, Sitecore.Commerce.Engine.Connect.Caching">
    <redis type="Sitecore.Commerce.Engine.Connect.RedisCacheSettings, Sitecore.Commerce.Engine.Connect.Caching">
      <enabled>true</enabled>
      <cacheStoreName>Commerce-Connector-Redis</cacheStoreName>
<intervalBetweenConnectionAttemptsInSeconds>60</intervalBetweenConnectionAttemptsInSeconds>
      <redisConnectionPoolSize18791275782<11879127578/redisConnectionPoolSize> 
      <redisCompressionEnabled>true</redisCompressionEnabled>
 <options type="Sitecore.Commerce.Engine.Connect.CommerceRedisCacheOptions, Sitecore.Commerce.Engine.Connect.Caching">           <configuration>localhost:6379,defaultDatabase=1,allowAdmin=true,syncTimeout=3600000</configuration>
           <instanceName>Redis</instanceName>
        </options>
     </redis>
     <memory type="Sitecore.Commerce.Engine.Connect.MemoryCacheSettings, Sitecore.Commerce.Engine.Connect.Caching">
        <enabled>false</enabled>
        <cacheStoreName>Commerce-Connector-Memory</cacheStoreName>
        </memory>
     <cacheEntry type="Sitecore.Commerce.Engine.Connect.CacheEntrySettings, Sitecore.Commerce.Engine.Connect.Caching">           <cacheName>CommerceConnect</cacheName>
        <expiration>21600000</expiration>
      </cacheEntry>
   </cachingSettings>
 </commerceCachingConfiguration>

Redisプロバイダのパラメータ

次のパラメータを使用して、Redisキャッシュプロバイダーを設定できます。

パラメーター

形容

enabled

プロバイダーを有効にするかどうかを指定します。

デフォルト値: true.

cacheStoreName

キャッシュ ストアの名前を設定します。

既定値: Commerce-Connector-Redis

intervalBetweenConnectionAttemptsInSeconds

失敗した接続が再接続を試行するまでの秒数を設定します。

既定値: 60

redisConnectionPoolSize

プール内のRedisへの接続数。

既定値: 1

redisCompressionEnabled

Redisプロバイダーがキャッシュ データを圧縮するかどうかを制御します。

既定値: true

configuration

Redisキャッシュ プロバイダーの 接続文字列オプション を指定します。デフォルトは次のとおりです。

  • localhost:6379

  • syncTimeout=3600000

  • allowAdmin=True

  • defaultDatabase=1

    大事な

    他のアプリケーションが同じRedisサービスを共有する場合は、CE Connectフラッシュ・キャッシュ操作が他のアプリケーションに影響を与えないように、defaultDatabase設定を指定する必要があります。

instanceName

Redisインスタンス名を設定します。

既定値: Redis

インメモリ キャッシュ プロバイダーのパラメーター

次のパラメータを使用して、インメモリキャッシュプロバイダを設定できます。

パラメーター

形容

enabled

プロバイダーを有効にするかどうかを指定します。

デフォルト値: false.

cacheStoreName

キャッシュ ストアの名前を設定します。

既定値: Commerce-Connector-Memory

evictionPercentage

キャッシュが使用頻度の低いエントリを削除して、新しいエントリ用のスペースを確保するしきい値を設定します。

既定値: 0.2

maxSizeInBytes

キャッシュ ストアで許可される最大サイズをバイト単位で設定します。

デフォルト値: 9223372036854775807 (long.MaxValue)

PollingInterval

キャッシュ ストアがメモリ統計を更新する最大時間を設定します。

デフォルト値: "00:02:00" (2分)。

sizeLimit

キャッシュ ストアの項目の最大数を設定します。値が指定されていない場合、制限はなく、制限はキャッシュで許可される最大サイズ ( maxSizeInBytesの値によって決定される) に基づきます。

expirationScanFrequency

期限切れの項目をスキャンする最小間隔を設定します。

デフォルト値: "00:01:00" (1分)

compactionPercentage

最大サイズを超えた場合に、キャッシュ・データの割合を圧縮するように設定します。

既定値: 0.05

キャッシュエントリの設定

次のパラメータを使用して、キャッシュエントリを設定できます (任意のキャッシュプロバイダ用)。

パラメーター

形容

cacheName

キャッシュの名前を指定します。

expiration

キャッシュエントリの有効期限が切れるまでの時間の長さをミリ秒単位で設定します。デフォルトは21600000です。

priority

キャッシュエントリの優先度を設定します。可能な値は次のとおりです。

  • Low

  • Normal

  • High

  • NeverRemove

absoluteExpirationRelativeToNow

キャッシュエントリの有効期限を現在のタイムスタンプを基準にして、ミリ秒単位で設定します。

slidingExpiration

キャッシュエントリがアクセスされていない場合に期限切れになる時間の長さをミリ秒単位で設定します。

増分インデックス作成後にフル・キャッシュ・リフレッシュをトリガーするしきい値

増分インデックス作成プロセスは一定の間隔で実行され、新規または変更されたコマース アイテムのインデックスが作成されます。新規または変更された項目の数が <fullCacheRefreshThreshold> プロパティ値で指定されたしきい値を超えると、キャッシュの完全再表示が実行されます。次に、デフォルト設定を示します。

<!-- Threshold that triggers a full cache refresh after incremental indexing --> <fullCacheRefreshThreshold>20</fullCacheRefreshThreshold>

CE Connectキャッシュのメンテナンス

Sitecoreコンテンツ エディターでCE Connectキャッシュのコンテンツを更新できます。(PostmanのキャッシングAPIサンプル要求を使用してCE Connectキャッシュを保守することはできません。

CE Connectキャッシュをリフレッシュするには、次のようにします。

  1. Sitecoreスタート画面で、Content Editorをクリックします。

  2. Commerceタブで、「Refresh Commerce Cache」をクリックします。

Refresh Commerce Cache操作では、次のキャッシュが更新されます。

  • Sitecoreアイテム キャッシュ

  • コンテンツ パス キャッシュ

  • Sitecoreデータ キャッシュ

  • 標準値キャッシュ

  • テンプレートキャッシュ

  • テンプレート エンジン キャッシュ

  • HTMLキャッシュ

  • カタログ エンティティ

  • カタログ マッピング (常にメモリにキャッシュ)

この記事を改善するための提案がある場合は、 お知らせください!