C# Redis超时错误
我有一个应用程序,它抛出了很多Redis超时错误 我在Startup.cs中配置缓存的方式如下:C# Redis超时错误,c#,asp.net-core,redis,stackexchange.redis,C#,Asp.net Core,Redis,Stackexchange.redis,我有一个应用程序,它抛出了很多Redis超时错误 我在Startup.cs中配置缓存的方式如下: var redis = ConnectionMultiplexer.Connect(Configuration.GetValue<string>("RedisConnection")); services.AddDataProtection( options => { options.ApplicationDiscriminator = &q
var redis = ConnectionMultiplexer.Connect(Configuration.GetValue<string>("RedisConnection"));
services.AddDataProtection(
options => { options.ApplicationDiscriminator = "my-ap";}
).PersistKeysToRedis(redis, "my-ap-data-protection-keys");
services.AddDistributedRedisCache(options =>
{
options.Configuration = Configuration.GetValue<string>("RedisConnection");
});
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => {
return ConnectionMultiplexer.Connect("RedisConnection"); });
public static ConnectionMultiplexer Connection { get { return lazyConnection.Value; } }
var redis=ConnectionMultiplexer.Connect(Configuration.GetValue(“RedisConnection”);
services.AddDataProtection(
选项=>{options.ApplicationDiscriminator=“my ap”;}
).PersistKeysRedis(redis,我的ap数据保护密钥);
services.AddDistributedRedisCache(选项=>
{
options.Configuration=Configuration.GetValue(“重新连接”);
});
我正在经历的是使用Redis的最佳实践是这样的:
var redis = ConnectionMultiplexer.Connect(Configuration.GetValue<string>("RedisConnection"));
services.AddDataProtection(
options => { options.ApplicationDiscriminator = "my-ap";}
).PersistKeysToRedis(redis, "my-ap-data-protection-keys");
services.AddDistributedRedisCache(options =>
{
options.Configuration = Configuration.GetValue<string>("RedisConnection");
});
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => {
return ConnectionMultiplexer.Connect("RedisConnection"); });
public static ConnectionMultiplexer Connection { get { return lazyConnection.Value; } }
private static Lazy lazyConnection=new Lazy(()=>{
返回ConnectionMultiplexer.Connect(“RedisConnection”);});
公共静态连接多路复用器连接{get{return lazyConnection.Value;}}
问题的第1部分:我不太清楚如何将其合并到分发密钥的代码中。我只是在我的启动类中添加一个静态方法吗
问题的第2部分:我正在使用Microsoft.Extensions.Caching.Redis 2.1.2.0版中的
AddDistributedRedisCache
扩展方法,我找不到使用上述推荐方法的区域我有点困惑-您正在添加DistributedCache和多路复用器?您应该能够只使用AddDistributedCache设置,然后将IDistributedCache注入到其他类中……您的超时是多少?你会惊讶于云提供商的延迟有多高(而且很高)be@MarcGravell我如何知道超时是什么?@MarcGravell IIUC我没有在连接字符串上设置超时。这是默认值(我在这里的一些文档中发现是5000:)@MarcGravel看起来ut是超时值,因为我增加了超时值,它解决了大量的错误。谢谢你能把这个设为答案,这样我就可以标记它了吗