Documentation ¶
Index ¶
- type GBRateLimitSet
- func (obj *GBRateLimitSet) CheckIsLimited(key interface{}, intervals, limit, consume int) bool
- func (obj *GBRateLimitSet) CheckLimit(key interface{}, intervals, limit, consume int) (bool, int, int)
- func (obj *GBRateLimitSet) GetLeft(key interface{}, intervals, limit int) int
- func (obj *GBRateLimitSet) IsLimited(key interface{}, intervals, limit int) bool
- func (obj *GBRateLimitSet) Name() interface{}
- type GBRateLimiter
- func (obj *GBRateLimiter) CheckIsLimited(intervals, limit, consume int) bool
- func (obj *GBRateLimiter) CheckLimit(intervals, limit, consume int) (bool, int, int)
- func (obj *GBRateLimiter) Expired() bool
- func (obj *GBRateLimiter) GetLeft(intervals, limit int) int
- func (obj *GBRateLimiter) IsLimited(intervals, limit int) bool
- func (obj *GBRateLimiter) Reset(intervals int)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GBRateLimitSet ¶
type GBRateLimitSet struct {
// contains filtered or unexported fields
}
func GBNewRateLimitSet ¶
func GBNewRateLimitSet(name interface{}, checkIntervals int) *GBRateLimitSet
创建周期速率限制对象
@param name 对象名称 @param checkIntervals 周期间隔(秒数),检测周期越长,内存压力越大,GC 压力越小
@return 新对象
func (*GBRateLimitSet) CheckIsLimited ¶
func (obj *GBRateLimitSet) CheckIsLimited(key interface{}, intervals, limit, consume int) bool
周期性速率限制检测,是否被限制
@param key 目标 @param intervals 周期间隔(秒数) @param limit 每周期最大额度 @param consume 本次消费额度,可以传"0"表示不消费
@return true:被限制,false:未被限制,当实际消费额度大于"0"时,一定会返回"false"
func (*GBRateLimitSet) CheckLimit ¶
func (obj *GBRateLimitSet) CheckLimit(key interface{}, intervals, limit, consume int) (bool, int, int)
周期性速率限制检测
@param key 目标 @param intervals 周期间隔(秒数) @param limit 每周期最大额度 @param consume 本次消费额度,可以传"0"表示不消费
@return true:被限制,false:未被限制,当实际消费额度大于"0"时,一定会返回"false" @return 本次实际消费额度 @return 本周期剩余额度
func (*GBRateLimitSet) GetLeft ¶
func (obj *GBRateLimitSet) GetLeft(key interface{}, intervals, limit int) int
取得当前周期剩余额度
@param intervals 周期间隔(秒数) @param limit 每周期最大额度
@return 剩余额度数量,可能是负数
func (*GBRateLimitSet) IsLimited ¶
func (obj *GBRateLimitSet) IsLimited(key interface{}, intervals, limit int) bool
周期性速率限制检测,是否被限制
@param key 目标 @param intervals 周期间隔(秒数) @param limit 每周期最大额度
@return true:被限制,false:未被限制
type GBRateLimiter ¶
type GBRateLimiter struct {
// contains filtered or unexported fields
}
func (*GBRateLimiter) CheckIsLimited ¶
func (obj *GBRateLimiter) CheckIsLimited(intervals, limit, consume int) bool
速率限制检测消费,是否被限制
@param intervals 周期间隔(秒数) @param limit 每周期最大额度 @param consume 本次消费额度,可以传"0"表示不消费
@return true:被限制,false:未被限制,当实际消费额度大于"0"时,一定会返回"false"
func (*GBRateLimiter) CheckLimit ¶
func (obj *GBRateLimiter) CheckLimit(intervals, limit, consume int) (bool, int, int)
速率限制检测消费
@param intervals 周期间隔(秒数) @param limit 每周期最大额度 @param consume 本次消费额度,可以传"0"表示不消费
@return true:被限制,false:未被限制,当实际消费额度大于"0"时,一定会返回"false" @return 本次实际消费额度 @return 本周期剩余额度
func (*GBRateLimiter) GetLeft ¶
func (obj *GBRateLimiter) GetLeft(intervals, limit int) int
取得剩余额度
@param intervals 周期间隔(秒数) @param limit 每周期最大额度
@return 剩余额度数量,可能是负数
func (*GBRateLimiter) IsLimited ¶
func (obj *GBRateLimiter) IsLimited(intervals, limit int) bool
速率限制检测,是否被限制
@param intervals 周期间隔(秒数) @param limit 每周期最大额度
@return true:被限制,false:未被限制