add memory kv store

This commit is contained in:
Chris Lu 2021-08-21 15:00:44 -07:00
parent 5f6cc9a814
commit 849f185a20
2 changed files with 35 additions and 0 deletions

View file

@ -0,0 +1,29 @@
package tree_store
import "errors"
var (
NotFound = errors.New("not found")
)
type MemoryTreeStore struct {
m map[int64][]byte
}
func NewMemoryTreeStore() *MemoryTreeStore{
return &MemoryTreeStore{
m: make(map[int64][]byte),
}
}
func (m *MemoryTreeStore) Put(k int64, v []byte) error {
m.m[k] = v
return nil
}
func (m *MemoryTreeStore) Get(k int64) ([]byte, error) {
if v, found := m.m[k]; found {
return v, nil
}
return nil, NotFound
}

View file

@ -0,0 +1,6 @@
package tree_store
type TreeStore interface {
Put(k int64, v []byte) error
Get(k int64) ([]byte, error)
}