2024-05-17 18:30:33 +08:00
|
|
|
// Copyright 2021 GoEdge goedge.cdn@gmail.com. All rights reserved.
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-05-19 12:07:35 +08:00
|
|
|
package caches
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-05-19 12:07:35 +08:00
|
|
|
type ListInterface interface {
|
2021-06-13 17:37:57 +08:00
|
|
|
// Init 初始化
|
2021-05-19 12:07:35 +08:00
|
|
|
Init() error
|
2020-12-23 21:28:50 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// Reset 重置数据
|
2021-05-19 12:07:35 +08:00
|
|
|
Reset() error
|
2020-12-23 21:28:50 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// Add 添加内容
|
2021-05-19 12:07:35 +08:00
|
|
|
Add(hash string, item *Item) error
|
2020-10-05 20:23:18 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// Exist 检查内容是否存在
|
2024-04-04 08:28:14 +08:00
|
|
|
Exist(hash string) (ok bool, size int64, err error)
|
2020-10-05 20:23:18 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// CleanPrefix 清除某个前缀的缓存
|
|
|
|
|
CleanPrefix(prefix string) error
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2022-11-26 11:05:46 +08:00
|
|
|
// CleanMatchKey 清除通配符匹配的Key
|
|
|
|
|
CleanMatchKey(key string) error
|
|
|
|
|
|
|
|
|
|
// CleanMatchPrefix 清除通配符匹配的前缀
|
|
|
|
|
CleanMatchPrefix(prefix string) error
|
|
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// Remove 删除内容
|
2021-05-19 12:07:35 +08:00
|
|
|
Remove(hash string) error
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// Purge 清理过期数据
|
2021-11-13 21:30:24 +08:00
|
|
|
Purge(count int, callback func(hash string) error) (int, error)
|
|
|
|
|
|
|
|
|
|
// PurgeLFU 清理LFU数据
|
|
|
|
|
PurgeLFU(count int, callback func(hash string) error) error
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// CleanAll 清除所有缓存
|
2021-05-19 12:07:35 +08:00
|
|
|
CleanAll() error
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-06-13 17:37:57 +08:00
|
|
|
// Stat 统计
|
2021-05-19 12:07:35 +08:00
|
|
|
Stat(check func(hash string) bool) (*Stat, error)
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-05-19 12:07:35 +08:00
|
|
|
// Count 总数量
|
|
|
|
|
Count() (int64, error)
|
2020-10-04 14:30:42 +08:00
|
|
|
|
2021-05-19 12:07:35 +08:00
|
|
|
// OnAdd 添加事件
|
|
|
|
|
OnAdd(f func(item *Item))
|
2020-10-05 20:23:18 +08:00
|
|
|
|
2021-05-19 12:07:35 +08:00
|
|
|
// OnRemove 删除事件
|
|
|
|
|
OnRemove(f func(item *Item))
|
2021-06-13 17:37:57 +08:00
|
|
|
|
|
|
|
|
// Close 关闭
|
|
|
|
|
Close() error
|
2021-11-13 21:30:24 +08:00
|
|
|
|
|
|
|
|
// IncreaseHit 增加点击量
|
|
|
|
|
IncreaseHit(hash string) error
|
2020-10-05 20:23:18 +08:00
|
|
|
}
|