xiazhengtongxue
9 天以前 cbfc5ac3c45eff75e912ba6aeaad83533a1a4296
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace WIDESEAWCS_RedisService.RateLimiting
{
    public interface IRateLimitingService
    {
        /// <summary>
        /// 固定窗口限流
        /// </summary>
        bool IsAllowed(string key, int maxRequests, TimeSpan window);
 
        /// <summary>
        /// 滑动窗口限流
        /// </summary>
        bool IsAllowedSliding(string key, int maxRequests, TimeSpan window);
 
        /// <summary>
        /// 令牌桶限流
        /// </summary>
        bool TryAcquireToken(string key, int maxTokens, int refillRate, TimeSpan refillInterval);
 
        /// <summary>
        /// 获取剩余请求数
        /// </summary>
        long GetRemainingRequests(string key, int maxRequests, TimeSpan window);
    }
}