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

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

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

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

プライベートセッション状態では、閲覧したページ、コンバージョンに至った目標、トリガーされたキャンペーン、累積エンゲージメントポイントなど、特定のインタラクションに関連するすべてのデータが収集され、セッション状態データベースに保存されます。

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

警告

データ損失などの予期しない動作を防ぐために、aspnet:AllowConcurrentRequestsPerSessionを有効にしないことをお勧めします。これらの問題は、要求中にセッションがブロックされないため、このオプションを使用すると発生する可能性があります。

メモ

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

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

Sitecore ASP.NETセッション ステート ストア プロバイダー for 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="session" connectionString="_host_:_port_number _" />
  3. セッション・データベースを指すように接続文字列を構成します。

  4. 変更を保存します。

Sitecoreの設定

Redisのプライベート セッション状態ストア プロバイダーを使用するようにSitecoreを設定するには:

  1. サイトのルートフォルダに移動し、web.configファイルを開いて、sesssionStateセクションを見つけます。

    <sessionState mode="InProc" cookieless="false" timeout="20">
  2. sessionStateセクションで、次の例に示すように、InProcではなくredisプロバイダーを使用するようにcustomProvider属性を更新します。また、name属性値の値を次のように変更しますredis

    <sessionState mode="Custom" customProvider="redis" timeout="20">
      <providers>
        <add name="redis"
          type="Sitecore.SessionProvider.Redis.RedisSessionStateProvider,
          Sitecore.SessionProvider.Redis"
          connectionString="session"
          pollingInterval="2"
          applicationName="private"/>
      </providers>
    </sessionState>

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

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

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