github.com/TeaOSLab/EdgeNode@v1.3.8/internal/caches/list_interface.go (about) 1 // Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. 2 3 package caches 4 5 type ListInterface interface { 6 // Init 初始化 7 Init() error 8 9 // Reset 重置数据 10 Reset() error 11 12 // Add 添加内容 13 Add(hash string, item *Item) error 14 15 // Exist 检查内容是否存在 16 Exist(hash string) (ok bool, size int64, err error) 17 18 // CleanPrefix 清除某个前缀的缓存 19 CleanPrefix(prefix string) error 20 21 // CleanMatchKey 清除通配符匹配的Key 22 CleanMatchKey(key string) error 23 24 // CleanMatchPrefix 清除通配符匹配的前缀 25 CleanMatchPrefix(prefix string) error 26 27 // Remove 删除内容 28 Remove(hash string) error 29 30 // Purge 清理过期数据 31 Purge(count int, callback func(hash string) error) (int, error) 32 33 // PurgeLFU 清理LFU数据 34 PurgeLFU(count int, callback func(hash string) error) error 35 36 // CleanAll 清除所有缓存 37 CleanAll() error 38 39 // Stat 统计 40 Stat(check func(hash string) bool) (*Stat, error) 41 42 // Count 总数量 43 Count() (int64, error) 44 45 // OnAdd 添加事件 46 OnAdd(f func(item *Item)) 47 48 // OnRemove 删除事件 49 OnRemove(f func(item *Item)) 50 51 // Close 关闭 52 Close() error 53 54 // IncreaseHit 增加点击量 55 IncreaseHit(hash string) error 56 }