初步实验使用KV数据库(pebble)存储缓存索引

This commit is contained in:
刘祥超
2024-03-24 11:25:35 +08:00
parent 22b4a4afbc
commit 03e8394bff
36 changed files with 4564 additions and 21 deletions

View File

@@ -0,0 +1,23 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
package kvstore
import "encoding/json"
type ValueEncoder[T any] interface {
Encode(value T) ([]byte, error)
EncodeField(value T, fieldName string) ([]byte, error)
Decode(valueBytes []byte) (value T, err error)
}
type BaseObjectEncoder[T any] struct {
}
func (this *BaseObjectEncoder[T]) Encode(value T) ([]byte, error) {
return json.Marshal(value)
}
func (this *BaseObjectEncoder[T]) Decode(valueData []byte) (value T, err error) {
err = json.Unmarshal(valueData, &value)
return
}