RedisをASP.NET SessionState,OutputCacheのストレージに設定する。
RedisをASP.NET SessionState,OutputCacheのストレージに設定する。
Nugetパッケージのインストール
Microsoft.Web.RedisSessionStateProvider、Microsoft.Web.RedisOutputCacheProvider を追加します。
パッケージを追加するとWeb.ConfigにSessionStateセクション、cachingセクションのコードが挿入されます。
既存のSessionStateセクション、cachingセクションの記述が消えるわけではないので注意してください。
Web.Configの書き換えを行う。
既存のSessionStateセクション、cachingセクションの記述を以下に切り替えます。
尚、シングルインスタンスかRedis-Clusterかによって書き方が若干異なります。
Snipet(SessionState Redis Single Instance)
<sessionState mode="Custom" customProvider="CustomRedisSessionStateStore" cookieName="{任意のSessionStateのCookie名}" cookieless="false"> <providers> <add name="CustomRedisSessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="{割り当てたいRedisホスト名 or IP}" accessKey="" port="{割り当てたいRedisポート番号}" ssl="false" applicationName = "{任意のApplication名}" databaseId = "0" connectionTimeoutInMilliseconds = "10000" /> </providers> </sessionState>
Snipet(Output Cache Redis Single Instance)
<caching> <outputCache defaultProvider="CustomRedisOutputCache"> <providers> <add name="CustomRedisOutputCache" type="Microsoft.Web.Redis.RedisOutputCacheProvider" host="{割り当てたいRedisホスト名 or IP}" accessKey="" port="{割り当てたいRedisポート番号}" ssl="false" applicationName="{任意のApplication名}" databaseId="1" connectionTimeoutInMilliseconds="10000" /> </providers> </outputCache> </caching>
Snipet(SessionState Redis Cluster)
<sessionState mode="Custom" customProvider="CustomRedisSessionStateStore" cookieName="{任意のSessionStateのCookie名}" cookieless="false"> <providers> <add name="CustomRedisSessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="{PrimaryNodeのホスト名 or IP}:{PrimaryNodeのポート番号},{SecondaryNodeのホスト名 or IP}:{SecondaryNodeのポート番号}" accessKey="" ssl="false" applicationName="{任意のApplication名}" connectionTimeoutInMilliseconds="10000" /> </providers> </sessionState>
Snipet(OutputCache Redis Cluster)
<caching> <outputCache defaultProvider="CustomRedisOutputCache"> <providers> <add name="CustomRedisOutputCache" type="Microsoft.Web.Redis.RedisOutputCacheProvider" connectionString="{PrimaryNodeのホスト名 or IP}:{PrimaryNodeのポート番号},{SecondaryNodeのホスト名 or IP}:{SecondaryNodeのポート番号}" accessKey="" ssl="false" applicationName="{設定したいApplication名}" connectionTimeoutInMilliseconds="10000" /> </providers> </outputCache> </caching>