1. セッション状態のスケーリングと構成

チュートリアル: Redisプロバイダーを使用した共有セッション状態データベースの構成

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

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

共有セッション状態では、複数のセッション間で共有できるすべてのデータ (連絡先に関連するデータなど) が収集され、セッション状態データベースに保存されます

コンタクトはWebサイトへの複数の並行訪問を行うことができ、その場合、各訪問には独自のプライベートセッション状態があります。ただし、連絡先関連情報など、一部のデータは訪問間で共有できます。

同じ連絡先による並列訪問間で共有される情報は、共有セッション状態ストアに格納されます。このデータは引き続き連絡先に対して非公開ですが、同じ連絡先によって行われた現在のすべてのセッションからアクセスできます。

このチュートリアルでは、RedisのSitecoreセッション状態プロバイダーを使用して、Redisをアウトプロセス共有セッション状態ストアとして使用する方法について説明します。

このチュートリアルでは、次の方法について説明します。

  • 共有Redisセッション データベースをデプロイする

  • Sitecoreの設定

  • 専用のRedisセッション処理サーバーを構成する

  • Redisプロバイダーの設定を調整する

メモ

SitecoreはRedisクラスターをサポートしていません。

共有Redisセッション データベースをデプロイする

Sitecore ASP.NETのRedisセッション状態ストア プロバイダーを使用すると、Redisをセッション状態ストアとして使用できます。プロバイダーは、xDBがWebサイトへのアクセスを追跡するために必要なSessionEndイベントをサポートしています。

大事な

設定ファイルを直接変更しないでください。代わりに、実行時に必要な変更を実行する パッチ ファイル を作成する必要があります。

Redisセッション・データベースをデプロイするには:

  1. Azure Redisまたは オンプレミスのRedisを選択します。Azure Redisをプロビジョニングするには、Microsoft Azure Webサイト またはAzure PowerShellの手順を使用します。

  2. <sitename>\App_Configフォルダーに移動し、ConnectionStrings.configファイルを開き、次の接続文字列を追加します。

    <add name="sharedSession" connectionString="_host_:_port_number _" />
  3. セッション・データベースを指すように接続文字列を構成します。

  4. 変更を保存します。

Sitecoreの設定

デフォルトの共有セッションストアは、データをメモリに格納し、内部ASP.NETクラスに実装されるin processプロバイダを使用しますInProcSessionStateStore

<sharedSessionState defaultProvider="inProc">
  <providers>
    <clear/>
    <add name="inProc"
      type="System.Web.SessionState.InProcSessionStateStore"
      />
  </providers>
大事な

設定ファイルを直接変更しないでください。代わりに、実行時に必要な変更を実行する パッチ ファイル を作成する必要があります。

代わりにRedisの共有セッション状態プロバイダーを使用するようにSitecoreを設定するには:

  1. Webサイトのルート フォルダーで、App_Config\Sitecore\Marketing.Trackingフォルダーに移動します。

  2. Sitecore.Analytics.Tracking.Configファイルを開きます。

  3. デフォルトの共有セッション状態プロバイダを定義できる行を、sitecore/tracking/sharedSessionStateのパスで見つけます。

  4. 次の例に示すように、sharedSessionStateセクションを更新して、inProcではなくRedisをdefaultProviderとして使用するようにします。また、name属性値をredisに変更する必要があります。

    <sharedSessionState defaultProvider="redis">
      <providers>
        <clear/>
          <add name="redis" type="Sitecore.SessionProvider.Redis.RedisSessionStateProvider,   
                  Sitecore.SessionProvider.Redis"
                  connectionString="sharedSession"
                  pollingInterval="2"
                  applicationName="shared"/>
      </providers>
    </sharedSessionState>

Redisプロバイダーの設定を調整する

Redisプロバイダー設定リファレンスを使用して、セッション状態を構成します。すべてが正しく設定されている場合、セッションレコードは最初のウェブリクエストの後にRedisセッションデータベースに表示されます。

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