尝试访问无服务器 Redis 缓存时收到以下错误:
StackExchange.Redis.RedisConnectionException:消息在尝试发送的积压中超时,因为没有可用的连接(5000 毫秒) - 上次连接异常:UnableToConnect
我的高级设置是:
我正在尝试使用
Microsoft.Extensions.Caching.StackExchangeRedis包中的
AddStackExchangeRedisCache
扩展从 ASP.NET Core 应用程序访问它。
不确定任务还缺少什么才能到达缓存。
经过大量调整和环顾四周,我终于注意到无服务器缓存默认启用了
Encryption in Transit
。
同时,在我的应用程序启动中添加 Redis 服务时,我没有在
Ssl
中明确将 ConfigurationOptions
设置为 true。默认情况下这是错误的,因此缓存和我的服务器在加密方面不匹配。
添加服务的最终解决方案类似于:
services.AddStackExchangeRedisCache(delegate (RedisCacheOptions options)
{
options.ConfigurationOptions = new ConfigurationOptions()
{
EndPoints = new EndPointCollection { "your-cache.serverless.use1.cache.amazonaws.com:6379" },
Ssl = true,
ConnectRetry = 3,
ReconnectRetryPolicy = new LinearRetry(250),
AbortOnConnectFail = false,
ConnectTimeout = 500,
SyncTimeout = 500
};
});