dac

package
v1.4.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EMPTY   = ""
	FivePos = 5
	JsonTag = "json:"
)

Variables

This section is empty.

Functions

func InitData

func InitData()

InitData 需要初始化的数据

func RandPlusMinutes

func RandPlusMinutes(exp time.Duration) time.Duration

RandPlusMinutes 随机时间分钟上下浮动

Types

type InvalidationMessage

type InvalidationMessage struct {
	Key    string `json:"key"`
	Action string `json:"action"` // delete/invalidate
}

type Manager

type Manager struct {
	GroupKeys   map[string]map[string]interface{}
	ExpiredKeys sync.Map
	// contains filtered or unexported fields
}

func Default

func Default() *Manager

func NewCacheManager

func NewCacheManager(redisClient redis.UniversalClient) (*Manager, error)

func (*Manager) AddExpiredKey

func (cm *Manager) AddExpiredKey(key string, expiredAt int64)

AddExpiredKey 添加需要强制过期的KEY

func (*Manager) Close

func (cm *Manager) Close()

func (*Manager) CollectMetrics

func (cm *Manager) CollectMetrics()

CollectMetrics 新增监控指标收集

func (*Manager) DeleteLocal

func (cm *Manager) DeleteLocal(keys ...string)

DeleteLocal 删除当前节点缓存

func (*Manager) Get

func (cm *Manager) Get(key string, missCall func() (any, error), container ...any) (any, error)

Get 获取缓存数据,获得redis数据时container[0]进行数据结构unmarshal, container 为指针类型

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 (cm *Manager) GetGroupCacheKeys(group string) []string

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 (cm *Manager) InitKafkaProducer(kafkaAddr string)

func (*Manager) KeyCount

func (cm *Manager) KeyCount() int

func (*Manager) Keys

func (cm *Manager) Keys() []string

func (*Manager) Preload

func (cm *Manager) Preload(keys []string, loadFunc func(string) (string, error))

Preload 新增缓存预热方法

func (*Manager) PubDeleteEvent

func (cm *Manager) PubDeleteEvent(keys ...string) error

PubDeleteEvent 向队列广播删除缓存事件

func (*Manager) Set

func (cm *Manager) Set(key string, value any, expiration time.Duration) error

Set 方法实现(支持自定义过期时间)

func (*Manager) StartKafkaConsumer

func (cm *Manager) StartKafkaConsumer(kafkaAddr string)

func (*Manager) StartRedisSub

func (cm *Manager) StartRedisSub()

func (*Manager) StoreGroupKey

func (cm *Manager) StoreGroupKey(name, SubKey string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL