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