优化行情缓存策略:美股交易时段缓存15分钟,非交易时段缓存24小时,节省API配额
This commit is contained in:
parent
9936cbc7f2
commit
7685782bb4
@ -428,12 +428,20 @@ public class MarketDataService : IMarketDataService
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private DateTime GetCacheExpirationTime(string assetType)
|
private DateTime GetCacheExpirationTime(string assetType)
|
||||||
{
|
{
|
||||||
return assetType.ToLower() switch
|
if (assetType.Equals("crypto", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
"stock" => DateTime.Now.AddMinutes(15), // 股票缓存15分钟
|
return DateTime.Now.AddMinutes(1); // 加密货币7*24小时交易,缓存1分钟
|
||||||
"crypto" => DateTime.Now.AddMinutes(1), // 加密货币缓存1分钟
|
}
|
||||||
_ => DateTime.Now.AddMinutes(15)
|
|
||||||
};
|
// 美股交易时段:9:30-16:00 美国东部时间 = 14:30-21:00 UTC(夏令时)/15:30-22:00 UTC(冬令时)
|
||||||
|
// 简化处理:UTC时间14:00-22:00视为美股交易时段
|
||||||
|
var nowUtc = DateTime.UtcNow;
|
||||||
|
if (nowUtc.Hour >= 14 && nowUtc.Hour < 22 && nowUtc.DayOfWeek is not DayOfWeek.Saturday and not DayOfWeek.Sunday)
|
||||||
|
{
|
||||||
|
return DateTime.Now.AddMinutes(15); // 交易时段缓存15分钟
|
||||||
|
}
|
||||||
|
|
||||||
|
return DateTime.Now.AddHours(24); // 非交易时段(盘前/盘后/周末)缓存24小时,节省API调用
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user