---
title: "ウォークスルー:Redisプロバイダーを使った共有セッション状態データベースの設定"
slug: "walkthrough--configuring-a-shared-session-state-database-using-the-redis-provider"
abstract: "Redisを共有セッションステートストアとして使う方法を学びましょう。"
---
# ウォークスルー:Redisプロバイダーを使った共有セッション状態データベースの設定

共有セッション状態では、複数のセッションで共有可能なすべてのデータ、例えば連絡先に関するデータは、セッション状態データベースに保存されます

連絡先は複数の並行訪問を行うことができ、その場合各訪問は独自のプライベートセッション状態を持ちます。しかし、訪問間で連絡先情報を共有することもあります。

同じ連絡先による並行訪問間で共有される情報は、共有セッションの状態ストアに保存されます。このデータは連絡先にとっては依然としてプライベートですが、同じ連絡先が作成したすべての現在セッションからアクセス可能です。

このウォークスルーでは、RedisのSitecoreセッションステートプロバイダーを使って、Redisをアウトオフプロセスの共有セッションステートストアとして使う方法を説明します。

このウォークスルーでは、以下の方法を説明します:

-   共有のRedisセッションデータベースを展開する
-   Sitecoreの設定
-   専用のRedis Session Processingサーバーを設定
-   Redisのプロバイダー設定を調整してください

> !注SitecoreはRedis Clusterをサポートしていません。

## 共有のRedisセッションデータベースを展開する

Sitecore ASP.NET for Redisのセッションステートストアプロバイダーは、Rdisをセッションステートストアとして使うことを可能にします。プロバイダーはSessionEndイベントをサポートしており、xDBはウェブサイト訪問を追跡するために必要なものです。

> !重要設定ファイルに直接変更を加えないでください。代わりに、実行中に必要な変更を行う [パッチファイル](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html "Use a patch file to customize the Sitecore configuration") を作成しなければなりません。

Redisセッションデータベースを展開するには:

1.  Azure Redisか[Redisオンプレミ](https://redis.io/)スのどちらかを選べます。 [Microsoft Azureウェブサイト](https://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/) の指示や[Azure PowerShell](https://azure.microsoft.com/en-us/documentation/articles/cache-howto-manage-redis-cache-powershell/)を使ってAzure Redisをプロビジョニングできます。
    
2.  <sitename>\\App\_Configフォルダに行き、ConnectionStrings.configファイルを開き、以下の接続文字列を追加してください:
    
    <add name="sharedSession" connectionString="\_host\_:\_port\_number \_" />
    
3.  接続文字列をセッションデータベースを指すように設定してください。
    
4.  変更を保存してください。
    

## Sitecoreの設定

デフォルトの共有セッションストアは、イン *プロセス* プロバイダーを使用し、これはメモリにデータを保存し、内部のASP.NETクラスInProcSessionStateStoreで実装されています:

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

> !重要設定ファイルに直接変更を加えないでください。代わりに、実行中に必要な変更を行う [パッチファイル](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html "Use a patch file to customize the Sitecore configuration") を作成しなければなりません。

SitecoreをRedisの共有セッションステートプロバイダーを使用するように設定するには:

1.  ウェブサイトのルートフォルダでApp\_Config\\Sitecore\\Marketing.Trackingフォルダに移動します。
    
2.  Sitecore.Analytics.Tracking.Configファイルを開け。
    
3.  デフォルトの共有セッション状態プロバイダーを定義できる行を次のパスで見つけてください: sitecore/tracking/sharedSessionState。
    
4.  sharedSessionStateセクションをdefaultProviderとしてRedisを更新し、inProcではなく、以下の例で示しています。また、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プロバイダー設定の参照](https://doc.sitecore.com/xp/ja/developers/92/platform-administration-and-architecture/redis-provider-settings-reference.html "Redis provider settings reference")を使ってセッション状態を設定してください。すべて正しく設定されていれば、最初のウェブリクエストの後にセッションレコードがRedisのセッションデータベースに表示されます。