glogcenter/glc/ldb/sysmnt/sysmnt_data.go
2022-11-06 15:34:55 +08:00

51 lines
914 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* KV读写封装
* 1Key接口统一为string
* 2Value接口统一为SysmntData并提供默认字段方便自行使用
*/
package sysmnt
import (
"bytes"
"encoding/gob"
"github.com/gotoeasy/glang/cmn"
)
type SysmntData struct {
Count uint32
Value uint32
Flag bool
Content string
}
func (s *SysmntStorage) SetSysmntData(key string, value *SysmntData) {
k := cmn.StringToBytes(key)
buffer := new(bytes.Buffer)
encoder := gob.NewEncoder(buffer)
err := encoder.Encode(value)
if err != nil {
panic(err)
}
v := buffer.Bytes()
s.Put(k, v)
}
func (s *SysmntStorage) GetSysmntData(key string) *SysmntData {
bs, err := s.Get(cmn.StringToBytes(key))
if err != nil {
return &SysmntData{
Count: 0,
}
}
rs := new(SysmntData)
buffer := bytes.NewBuffer(bs)
decoder := gob.NewDecoder(buffer)
err = decoder.Decode(rs)
if err != nil {
panic(err.Error())
}
return rs
}