Documentation
¶
Index ¶
- Variables
- type Limiter
- func (r *Limiter[T]) Del(name string) error
- func (r *Limiter[T]) DelData(name string) error
- func (r *Limiter[T]) DelLimiter(name string) error
- func (r *Limiter[T]) Get(name string) (data *T, err error)
- func (r *Limiter[T]) GetWaiteTime(name string) time.Duration
- func (r *Limiter[T]) Set(name string, data *T, expire time.Duration) error
- type MemoryStorage
- type RedisStorage
- type Storage
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrLimitExceed = errors.New("rate limit exceed")
Functions ¶
This section is empty.
Types ¶
type Limiter ¶
type Limiter[T any] struct { // contains filtered or unexported fields }
func NewRateLimiter ¶
func (*Limiter[T]) DelLimiter ¶
type MemoryStorage ¶
type MemoryStorage[T any] struct { // contains filtered or unexported fields }
func NewMemoryStorage ¶
func NewMemoryStorage[T any](cleanUpInterval time.Duration) *MemoryStorage[T]
func (*MemoryStorage[T]) Del ¶
func (m *MemoryStorage[T]) Del(name string) error
func (*MemoryStorage[T]) Get ¶
func (m *MemoryStorage[T]) Get(name string) (data *T, err error)
type RedisStorage ¶
type RedisStorage[T any] struct { // contains filtered or unexported fields }
func NewRedisStorage ¶
func NewRedisStorage[T any](client *redis.Client, serializer encoding.Serializer, key string) *RedisStorage[T]
func (*RedisStorage[T]) Del ¶
func (r *RedisStorage[T]) Del(name string) error
func (*RedisStorage[T]) Get ¶
func (r *RedisStorage[T]) Get(name string) (data *T, err error)
Click to show internal directories.
Click to hide internal directories.