簡體   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