Documentation
¶
Index ¶
- Constants
- func InitData()
- func RandPlusMinutes(exp time.Duration) time.Duration
- type InvalidationMessage
- type Manager
- func (cm *Manager) AddExpiredKey(key string, expiredAt int64)
- func (cm *Manager) Close()
- func (cm *Manager) CollectMetrics()
- func (cm *Manager) DeleteLocal(keys ...string)
- func (cm *Manager) Get(key string, missCall func() (any, error), container ...any) (any, error)
- func (cm *Manager) GetExpired(key string, expiredAt int64, missCall func() (any, error), container ...any) (any, error)
- func (cm *Manager) GetGroupCacheKeys(group string) []string
- func (cm *Manager) GetUnsafe(key string, missCall func() (any, error), container ...any) (any, error)
- func (cm *Manager) InitKafkaProducer(kafkaAddr string)
- func (cm *Manager) KeyCount() int
- func (cm *Manager) Keys() []string
- func (cm *Manager) Preload(keys []string, loadFunc func(string) (string, error))
- func (cm *Manager) PubDeleteEvent(keys ...string) error
- func (cm *Manager) Set(key string, value any, expiration time.Duration) error
- func (cm *Manager) StartKafkaConsumer(kafkaAddr string)
- func (cm *Manager) StartRedisSub()
- func (cm *Manager) StoreGroupKey(name, SubKey string)
Constants ¶
View Source
const ( EMPTY = "" FivePos = 5 JsonTag = "json:" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type InvalidationMessage ¶
type Manager ¶
type Manager struct {
GroupKeys map[string]map[string]interface{}
ExpiredKeys sync.Map
// contains filtered or unexported fields
}
func NewCacheManager ¶
func NewCacheManager(redisClient redis.UniversalClient) (*Manager, error)
func (*Manager) AddExpiredKey ¶
AddExpiredKey 添加需要强制过期的KEY
func (*Manager) GetExpired ¶
func (cm *Manager) GetExpired(key string, expiredAt int64, missCall func() (any, error), container ...any) (any, error)
GetExpired 获取缓存带有强制过期时间(s)
func (*Manager) GetGroupCacheKeys ¶
func (*Manager) GetUnsafe ¶
func (cm *Manager) GetUnsafe(key string, missCall func() (any, error), container ...any) (any, error)
GetUnsafe 获取缓存数据,获得redis数据时container[0]进行数据结构unmarshal, container 为指针类型
func (*Manager) InitKafkaProducer ¶
func (*Manager) PubDeleteEvent ¶
PubDeleteEvent 向队列广播删除缓存事件
func (*Manager) StartKafkaConsumer ¶
func (*Manager) StartRedisSub ¶
func (cm *Manager) StartRedisSub()
func (*Manager) StoreGroupKey ¶
Click to show internal directories.
Click to hide internal directories.