Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MemoryRateLimiter ¶
type MemoryRateLimiter struct {
// contains filtered or unexported fields
}
基于内存存储的限速器
func NewMemoryRateLimiter ¶
func NewMemoryRateLimiter(qps int) *MemoryRateLimiter
创建限速器 qps: 每秒最大请求数
func (*MemoryRateLimiter) String ¶
func (rl *MemoryRateLimiter) String() string
func (*MemoryRateLimiter) TryAcquire ¶
func (rl *MemoryRateLimiter) TryAcquire() bool
获取token, 成功返回true, 没有则返回false
type RateLimiter ¶
type RateLimiter interface { Acquire() TryAcquire() bool }
type RedisRateLimiter ¶
type RedisRateLimiter struct {
// contains filtered or unexported fields
}
func NewRedisRateLimiter ¶
func NewRedisRateLimiter(client *redis.RedisClient, luaPath string, qps int, serviceId string) (*RedisRateLimiter, error)
func (*RedisRateLimiter) Acquire ¶
func (rrl *RedisRateLimiter) Acquire()
func (*RedisRateLimiter) TryAcquire ¶
func (rrl *RedisRateLimiter) TryAcquire() bool
Click to show internal directories.
Click to hide internal directories.