Files
EdgeNode/internal/caches/storage_interface.go

45 lines
961 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
// StorageInterface 缓存存储接口
2020-10-04 14:30:42 +08:00
type StorageInterface interface {
// Init 初始化
2020-10-04 14:30:42 +08:00
Init() error
// OpenReader 读取缓存
2021-12-16 17:27:21 +08:00
OpenReader(key string, useStale bool) (reader Reader, err error)
2020-10-04 14:30:42 +08:00
// OpenWriter 打开缓存写入器等待写入
2022-02-15 16:44:39 +08:00
OpenWriter(key string, expiredAt int64, status int, size int64) (Writer, error)
2020-10-04 14:30:42 +08:00
// Delete 删除某个键值对应的缓存
2020-10-04 14:30:42 +08:00
Delete(key string) error
// Stat 统计缓存
2020-10-04 14:30:42 +08:00
Stat() (*Stat, error)
// TotalDiskSize 消耗的磁盘尺寸
TotalDiskSize() int64
// TotalMemorySize 内存尺寸
TotalMemorySize() int64
// CleanAll 清除所有缓存
2020-10-04 14:30:42 +08:00
CleanAll() error
// Purge 批量删除缓存
2020-12-23 21:28:50 +08:00
Purge(keys []string, urlType string) error
2020-10-04 14:30:42 +08:00
// Stop 停止缓存策略
2020-10-04 14:30:42 +08:00
Stop()
// Policy 获取当前存储的Policy
2020-10-04 14:30:42 +08:00
Policy() *serverconfigs.HTTPCachePolicy
2020-10-05 16:55:14 +08:00
// AddToList 将缓存添加到列表
2020-10-05 16:55:14 +08:00
AddToList(item *Item)
2020-10-04 14:30:42 +08:00
}