【发布时间】:2017-08-14 15:46:30
【问题描述】:
我正在尝试使用 Azure Redis 缓存来存储“多租户 MVC 应用程序”的输出缓存。我需要一种方法来区分存储在 Redis 服务器上的密钥。看下面的截图,注意 TenantId_a2/*,这里是我想以编程方式控制的键名“TenantId”。
因为我使用Redis进行输出缓存,所以我需要在web.config文件中配置redis输出缓存,截图在这里:
还有另一种从应用程序代码配置 redis 缓存的方法,但这不适用于输出缓存……我敢肯定。代码如下:
public class AzureRedisCache
{
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
{
string configString = "********";
var options = ConfigurationOptions.Parse(configString);
options.ClientName = "TenantId"; // GREAT :)
options.AllowAdmin = true;
return ConnectionMultiplexer.Connect(options);
});
public static ConnectionMultiplexer Connection
{
get
{
return lazyConnection.Value;
}
}
}
现在要调用它,我们只需使用
IDatabase cache = AzureRedisCache.Connection.GetDatabase();
我不确定是否有任何方法可以将此代码用于输出缓存或其他方式来实现上述要求。请提出建议。
【问题讨论】:
标签: asp.net-mvc azure caching redis azure-redis-cache