service

package
v0.0.0-...-0789760 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultVisitSyncConfig = VisitSyncConfig{
	BatchInterval:        time.Hour,
	ThresholdInterval:    10 * time.Second,
	VisitThreshold:       5,
	BatchSize:            100,
	BloomRebuildInterval: 24 * time.Hour,
}

DefaultVisitSyncConfig 默认配置

Functions

func AddToBloomFilter

func AddToBloomFilter(key string) error

AddToBloomFilter add to bloom filter

func AutoMigrate

func AutoMigrate()

AutoMigrate performs automatic database migrations for the Link model.

func GenerateShortLink(url string, id string) (string, error)

GenerateShortLink generates a short link from the given URL and ID.

func RetrieveInitialUrl

func RetrieveInitialUrl(shortURL string) (string, error)

RetrieveInitialUrl 通过短链获取长链

func SaveUrlMapping

func SaveUrlMapping(shortURL string, longURL string, id string) error

Types

type Link struct {
	ShortURL    string    `gorm:"short_url;primary_key" json:"short_url"`
	OriginalUrl string    `gorm:"original_url" json:"original_url"`
	VisitCount  uint      `gorm:"visit_count" json:"visit_count"`
	ExpireAt    time.Time `gorm:"expire_at" json:"expire_at"`
}

type VisitSyncConfig

type VisitSyncConfig struct {
	BatchInterval        time.Duration // 批量同步间隔
	ThresholdInterval    time.Duration // 阈值检测频率
	VisitThreshold       int64         // 访问计数阈值
	BatchSize            int           // 批量处理大小
	BloomRebuildInterval time.Duration // 布隆过滤器重建间隔
}

VisitSyncConfig 访问统计同步配置

type VisitSyncer

type VisitSyncer struct {
	// contains filtered or unexported fields
}

func NewVisitSyncer

func NewVisitSyncer(config VisitSyncConfig) *VisitSyncer

NewVisitSyncer 创建新的访问统计同步器

func (*VisitSyncer) Start

func (vs *VisitSyncer) Start()

Start 启动所有后台任务

func (*VisitSyncer) Stop

func (vs *VisitSyncer) Stop()

Stop 优雅停止所有后台任务

Jump to

Keyboard shortcuts

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