[英]ServiceStack Redis retry timeout exception
我在我的应用程序中使用ServiceStack.Redis
,我有一个 get 方法去 redis(缓存)获取一些信息,但是如果 redis 断开连接,我调用存储库从真实数据库中获取
try
{
IEnumerable<GetOrdensByIdQueryDTO> orders = await _redis.GetByHashId<GetOrdensByIdQueryDTO>(request.Account);
if (orders == null || !orders.Any())
return orders.OrderByDescending(order => order.UpdatedAt);
return await GetFromWriteDataBase(request.Account);
}
catch (Exception)
{
return await GetFromWriteDataBase(request.Account);
}
如果redis掉线了,我调用_redis.GetByHashId()
方法,10秒后会抛出异常,我需要去掉这个重试异常定时器,在调用之前抛出,怎么办?
我像这样注入 Redis:
services.AddSingleton<IRedisClientsManager>(serviceProvider =>
{
var cacheConfiguration = serviceProvider.GetRequiredService<CacheConfiguration>();
return new RedisManagerPool(cacheConfiguration.ConnectionString);
});
您可以通过以下方式调整自动重试超时:
RedisConfig.DefaultRetryTimeout = 10000;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.