CacheManger 使用具有 Web.Config 配置的 Redis 多路复用器
CacheManger Using Redis Multiplexer with Web.Config Configuration
我需要使用两个缓存实例来实施 Michael 解决方案,就像他在 WhatIfRedisStopsWorkingHowDoIkeepMyAppRunning 中解释的那样,但使用 web.config 中的配置。
最后我只有这行代码
var defaultConfig = ConfigurationBuilder.LoadConfiguration("defaultCache");
我找不到如何访问 ConnectionMultiplexer 以在事件中挂钩我或通过配置来完成...
可能吗?
在CacheManager中通过app/web.config配置Redis有两种方式,
通过 ConnectionString
<connectionStrings>
<add name="redisFromConnectionStrings" connectionString="127.0.0.1:6379,allowAdmin=True,connectTimeout=11,ssl=False,abortConnect=False,connectRetry=10" />
</connectionStrings>
<cacheManager.Redis xmlns="http://cachemanager.michaco.net/schemas/RedisCfg.xsd">
<connections>
<connection id="redisAppConfig" allowAdmin="true" password="" ssl="false" sslHost="" connectionTimeout="11" database="3">
<endpoints>
<endpoint host="127.0.0.1" port="6379" />
</endpoints>
</connection>
</connections>
</cacheManager.Redis>
:更新:
当前没有访问 CacheManager 使用的连接多路复用器的选项。
但是您可以将现有的多路复用器传递给配置。
var defaultConfig = ConfigurationBuilder.LoadConfiguration("defaultCache");
var multiplexer = ConnectionMultiplexer.Connect(...);
defaultConfig = defaultConfig
.Builder
.WithRedisConfiguration("redisConfig", multiplexer )
.Build();
当然你必须自己实例化多路复用器并且不能再使用 web/app 配置来配置 Redis 部分。你必须自己处理...
我需要使用两个缓存实例来实施 Michael 解决方案,就像他在 WhatIfRedisStopsWorkingHowDoIkeepMyAppRunning 中解释的那样,但使用 web.config 中的配置。
最后我只有这行代码
var defaultConfig = ConfigurationBuilder.LoadConfiguration("defaultCache");
我找不到如何访问 ConnectionMultiplexer 以在事件中挂钩我或通过配置来完成...
可能吗?
在CacheManager中通过app/web.config配置Redis有两种方式, 通过 ConnectionString
<connectionStrings>
<add name="redisFromConnectionStrings" connectionString="127.0.0.1:6379,allowAdmin=True,connectTimeout=11,ssl=False,abortConnect=False,connectRetry=10" />
</connectionStrings>
<cacheManager.Redis xmlns="http://cachemanager.michaco.net/schemas/RedisCfg.xsd">
<connections>
<connection id="redisAppConfig" allowAdmin="true" password="" ssl="false" sslHost="" connectionTimeout="11" database="3">
<endpoints>
<endpoint host="127.0.0.1" port="6379" />
</endpoints>
</connection>
</connections>
</cacheManager.Redis>
:更新: 当前没有访问 CacheManager 使用的连接多路复用器的选项。 但是您可以将现有的多路复用器传递给配置。
var defaultConfig = ConfigurationBuilder.LoadConfiguration("defaultCache");
var multiplexer = ConnectionMultiplexer.Connect(...);
defaultConfig = defaultConfig
.Builder
.WithRedisConfiguration("redisConfig", multiplexer )
.Build();
当然你必须自己实例化多路复用器并且不能再使用 web/app 配置来配置 Redis 部分。你必须自己处理...