Files
EdgeNode/internal/caches/storage_interface.go

39 lines
760 B
Go
Raw Normal View History

2020-10-04 14:30:42 +08:00
package caches
2020-10-05 16:55:14 +08:00
import (
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
)
2020-10-04 14:30:42 +08:00
// 缓存存储接口
type StorageInterface interface {
// 初始化
Init() error
// 读取缓存
2020-10-05 16:55:14 +08:00
Read(key string, readerBuf []byte, callback func(data []byte, size int64, expiredAt int64, isEOF bool)) error
2020-10-04 14:30:42 +08:00
// 打开缓存写入器等待写入
2020-10-05 16:55:14 +08:00
Open(key string, expiredAt int64) (Writer, error)
2020-10-04 14:30:42 +08:00
// 删除某个键值对应的缓存
Delete(key string) error
// 统计缓存
Stat() (*Stat, error)
// 清除所有缓存
CleanAll() error
// 批量删除缓存
2020-12-23 21:28:50 +08:00
Purge(keys []string, urlType string) error
2020-10-04 14:30:42 +08:00
// 停止缓存策略
Stop()
// 获取当前存储的Policy
Policy() *serverconfigs.HTTPCachePolicy
2020-10-05 16:55:14 +08:00
// 将缓存添加到列表
AddToList(item *Item)
2020-10-04 14:30:42 +08:00
}