繁体   English   中英

ServiceStack Redis 重试超时异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM