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

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

SitecoreはRedisのセッションステートプロバイダーの2つのバージョン( [同期](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/walkthrough--configuring-a-private-session-state-database-using-the-redis-provider.html#UUID-9af0b88d-bfbd-54a1-ceaf-fab1f9aa9a22_N1525267105554 "Configure synchronous Redis session state provider") 型と [非同期](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/walkthrough--configuring-a-private-session-state-database-using-the-redis-provider.html#UUID-9af0b88d-bfbd-54a1-ceaf-fab1f9aa9a22_N1603367023666 "Configure asynchronous Redis session state provider")型)をサポートしています。このウォークスルーでは、RedisのSitecore ASP.NETセッションステートストアプロバイダーを使って、Redisをプライベートセッションステートストアとして使う方法を説明します。

> !警告データ損失などの予期せぬ動作を防ぐために、aspnet:AllowConcurrentRequestsPerSessionを有効にしないことを推奨します。このオプションを使用すると、リクエスト中にセッションがブロックされていないため、これらの問題が発生する可能性があります。

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

## 同期Redisセッション状態プロバイダーの設定

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

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を使ってRedisをプロビジョニングできます [Azure](https://azure.microsoft.com/en-us/documentation/articles/cache-howto-manage-redis-cache-powershell/)
    
2.  <sitename>\\App\_Config\\フォルダに行き、ConnectionStrings.configファイルを開き、以下の接続文字列を追加してください:
    
    <add name="session" connectionString="\_host\_:\_port\_number \_" />
    
3.  接続文字列をセッションデータベースを指すように設定してください。
    
4.  変更を保存してください。
    

## Sitecoreの設定

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

1.  サイトのルートフォルダにアクセスし、web.configファイルを開いてsesssionStateセクションを見つけてください。
    
    <sessionState mode="InProc" cookieless="false" timeout="20">
    
2.  sessionStateセクションでは、customProvider属性を*InProc*の代わりに*Redis*プロバイダーに更新してください。以下の例に示されています。また、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セッション状態プロバイダーの設定

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

1.  サイトのルートフォルダにアクセスし、web.configファイルを開いて <system.webServer> に行き、<module> セクションを見つけてください。
    
2.  <module>セクションで、以下を置き換えてください:
    
    <add name="Session" type="System.Web.SessionState.SessionStateModule" />
    
    共演:
    
    <add name="Session" type="Microsoft.AspNet.SessionState.SessionStateModuleAsync, Microsoft.AspNet.SessionState.SessionStateModule" />
    
3.  <system.web>に行き、<sessionState>セクションで以下を見つけてください:
    
    <sessionState mode="InProc" cookieless="false" timeout="20">
    
    customProvider属性を*InProc*の代わりに*Redis*プロバイダーを使用するように更新します。例えば:
    
    <sessionState mode="Custom" customProvider="redisasync" timeout="20">
    <providers>
    <add name="redisasync"
    type="Sitecore.SessionProvider.Redis.RedisSessionStateProviderAsync,
    Sitecore.SessionProvider.Redis"
    connectionString="session"
    pollingInterval="2"
    applicationName="private"/>
    </providers>
    </sessionState>

## Redisのプロバイダー設定を調整してください

セッション状態を設定するには:

-   [Redisのプロバイダー設定の参考資料](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/redis-provider-settings-reference.html "Redis provider settings reference")を使いましょう。

すべて正しく設定されていれば、最初のウェブリクエストの後にセッションレコードがRedisのセッションデータベースに表示されます。