MCPcopy Index your code
hub / github.com/GoEdgeLab/EdgeNode / StorageInterface

Interface StorageInterface

internal/caches/storage_interface.go:8–61  ·  view source on GitHub ↗

StorageInterface 缓存存储接口

Source from the content-addressed store, hash-verified

6
7// StorageInterface 缓存存储接口
8type StorageInterface interface {
9 // Init 初始化
10 Init() error
11
12 // OpenReader 读取缓存
13 OpenReader(key string, useStale bool, isPartial bool) (reader Reader, err error)
14
15 // OpenWriter 打开缓存写入器等待写入
16 // size 和 maxSize 可能为-1
17 OpenWriter(key string, expiresAt int64, status int, headerSize int, bodySize int64, maxSize int64, isPartial bool) (Writer, error)
18
19 // OpenFlushWriter 打开从其他媒介直接刷入的写入器
20 OpenFlushWriter(key string, expiresAt int64, status int, headerSize int, bodySize int64) (Writer, error)
21
22 // Delete 删除某个键值对应的缓存
23 Delete(key string) error
24
25 // Stat 统计缓存
26 Stat() (*Stat, error)
27
28 // TotalDiskSize 消耗的磁盘尺寸
29 TotalDiskSize() int64
30
31 // TotalMemorySize 内存尺寸
32 TotalMemorySize() int64
33
34 // CleanAll 清除所有缓存
35 CleanAll() error
36
37 // Purge 批量删除缓存
38 // urlType 值为file|dir
39 Purge(keys []string, urlType string) error
40
41 // Stop 停止缓存策略
42 Stop()
43
44 // Policy 获取当前存储的Policy
45 Policy() *serverconfigs.HTTPCachePolicy
46
47 // UpdatePolicy 修改策略
48 UpdatePolicy(newPolicy *serverconfigs.HTTPCachePolicy)
49
50 // CanUpdatePolicy 检查策略是否可以更新
51 CanUpdatePolicy(newPolicy *serverconfigs.HTTPCachePolicy) bool
52
53 // AddToList 将缓存添加到列表
54 AddToList(item *Item)
55
56 // IgnoreKey 忽略某个Key,即不缓存某个Key
57 IgnoreKey(key string, maxSize int64)
58
59 // CanSendfile 是否支持Sendfile
60 CanSendfile() bool
61}

Callers 55

RunMethod · 0.65
openReaderMethod · 0.65
TestFileStorage_ReadFunction · 0.65
doCacheReadMethod · 0.65
openWriterMethod · 0.65
TestMemoryStorage_DeleteFunction · 0.65
TestMemoryStorage_StatFunction · 0.65

Implementers 2

FileStorageinternal/caches/storage_file.go
MemoryStorageinternal/caches/storage_memory.go

Calls

no outgoing calls

Tested by

no test coverage detected