Files
vRp.CD2g_test/utils/storage/index_data_storage.go

24 lines
729 B
Go

package storage
import (
"github.com/kercylan98/minotaur/utils/generic"
"time"
)
// IndexDataStorage 全局数据存储器接口
type IndexDataStorage[I generic.Ordered, T IndexDataItem[I]] interface {
// Load 加载特定索引数据
// - 通常情况下当数据不存在时,应当返回空指针
Load(name string, index I) T
// LoadAll 加载所有数据
LoadAll(name string) map[I]T
// Save 保存特定索引数据
Save(name string, index I, data T) error
// SaveAll 保存所有数据
SaveAll(name string, data map[I]T, errHandle func(err error) bool, retryInterval time.Duration)
// Delete 删除特定索引数据
Delete(name string, index I)
// DeleteAll 删除所有数据
DeleteAll(name string)
}