Documentation ¶
Overview ¶
Package expire 实现超时 map
Index ¶
- Constants
- type ExpireMap
- func (m *ExpireMap[K, V]) LoadOrNew(key K, opts ...Option[K, V]) (value *V, loaded bool)
- func (m *ExpireMap[K, V]) ResetExpiration(key K, tm time.Duration) (updated bool)
- func (m *ExpireMap[K, V]) SetDefaultExpire(expire time.Duration)
- func (m *ExpireMap[K, V]) SetDefaultExpireNotifier(notifier ExpireMapNotifier[K, V])
- func (m *ExpireMap[K, V]) SetDefaultNewer(newer ExpireMapNewer[K, V])
- type ExpireMapNewer
- type ExpireMapNotifier
- type Option
Constants ¶
View Source
const ( // DefaultExpire 全局默认超时时间, 如果不设置的话, ExpireMap 会使用这个超时时间 DefaultExpire = 10 * time.Second )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExpireMap ¶
type ExpireMap[K comparable, V any] struct { govet.NoCopy // contains filtered or unexported fields }
ExpireMap 表示一个定时删除的 map
func (*ExpireMap[K, V]) ResetExpiration ¶
ResetExpiration 重新设置超市时间, 从当前时间重新算起
func (*ExpireMap[K, V]) SetDefaultExpire ¶
SetDefaultExpire 设置默认超超时时间, 必须大于零。仅当 default newer 为空时生效
func (*ExpireMap[K, V]) SetDefaultExpireNotifier ¶
func (m *ExpireMap[K, V]) SetDefaultExpireNotifier(notifier ExpireMapNotifier[K, V])
SetDefaultExpireNotifier 设置默认的超时通知
func (*ExpireMap[K, V]) SetDefaultNewer ¶
func (m *ExpireMap[K, V]) SetDefaultNewer(newer ExpireMapNewer[K, V])
SetDefaultNewer 设置默认初始化器
type ExpireMapNewer ¶
type ExpireMapNewer[K comparable, V any] func(K) (*V, time.Duration)
ExpireMapNewer ExpireMap 值初始化器
type ExpireMapNotifier ¶
type ExpireMapNotifier[K comparable, V any] func(K, *V)
ExpireMapNotifier ExpireMap 超时通知器
type Option ¶
type Option[K comparable, V any] func(*options[K, V])
Option 表示额外配置
func WithExpireNotifier ¶
func WithExpireNotifier[K comparable, V any](notifier ExpireMapNotifier[K, V]) Option[K, V]
WithExpireNotifier 覆盖默认的通知器
func WithNewer ¶
func WithNewer[K comparable, V any](newer ExpireMapNewer[K, V]) Option[K, V]
WithNewer 覆盖默认的初始化器
Click to show internal directories.
Click to hide internal directories.