some work done
This commit is contained in:
parent
a735b9cc5e
commit
09fe1cd163
13 changed files with 174 additions and 45 deletions
|
|
@ -3,6 +3,7 @@ package etcd
|
|||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"git.giftfish.de/ston1th/vipman/pkg/cluster"
|
||||
//"go.etcd.io/etcd/clientv3"
|
||||
|
|
@ -52,6 +53,23 @@ func (c *Cluster) Get(k string) (v []byte, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func (c *Cluster) GetPrefix(k string) (m map[string][]byte, err error) {
|
||||
r, err := c.cli.Get(c.ctx, c.kvPrefix+"/"+k, clientv3.WithPrefix())
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if len(r.Kvs) == 0 {
|
||||
err = ErrKeyNotFound
|
||||
return
|
||||
}
|
||||
m = make(map[string][]byte)
|
||||
for _, kv := range r.Kvs {
|
||||
k := strings.TrimPrefix(c.kvPrefix+"/", string(kv.Key))
|
||||
m[k] = kv.Value
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (c *Cluster) Set(k string, v []byte) (err error) {
|
||||
_, err = c.cli.Put(c.ctx, c.kvPrefix+"/"+k, string(v))
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue