123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package config
- import (
- "context"
- "fmt"
- "github.com/sirupsen/logrus"
- "gogs.daxia.dev/huanan/pkg.daxia.dev.git/parse"
- "gogs.daxia.dev/huanan/pkg.daxia.dev.git/rdb"
- )
- var Prefix = ""
- func InitPrefix(prefix string) {
- Prefix = prefix
- }
- func GetString(key string, defaultVal string) string {
- if Prefix == "" {
- logrus.Fatal("prefix没设置")
- }
- key = Prefix + key
- data, err := rdb.GetRDB().Get(context.Background(), key).Result()
- if err != nil {
- logrus.Error(err)
- return defaultVal
- }
- return data
- }
- func GetInt(key string, defaultVal int) int {
- if Prefix == "" {
- logrus.Fatal("prefix没设置")
- }
- key = Prefix + key
- data, err := rdb.GetRDB().Get(context.Background(), key).Result()
- if err != nil {
- logrus.Error(err)
- return defaultVal
- }
- return parse.StringToInt(data)
- }
- func GetInt64(key string, defaultVal int64) int64 {
- if Prefix == "" {
- logrus.Fatal("prefix没设置")
- }
- key = Prefix + key
- data, err := rdb.GetRDB().Get(context.Background(), key).Result()
- if err != nil {
- logrus.Error(err)
- return defaultVal
- }
- return parse.StringToInt64(data)
- }
- func SetInt(key string, val int) error {
- return SetString(key, fmt.Sprintf("%d", val))
- }
- func SetString(key string, val string) error {
- if Prefix == "" {
- logrus.Fatal("prefix没设置")
- }
- key = Prefix + key
- _, err := rdb.GetRDB().Set(context.Background(), key, val, 0).Result()
- if err != nil {
- logrus.Error(err)
- return err
- }
- return nil
- }
- func ListAll() (map[string]string, error) {
- if Prefix == "" {
- logrus.Fatal("prefix没设置")
- }
- var err error
- resultMap := map[string]string{}
- var cursor uint64
- for {
- var keys []string
- keys, cursor, err = rdb.GetRDB().Scan(context.Background(), cursor, Prefix+"*", 0).Result()
- if err != nil {
- logrus.Error(err)
- return nil, err
- }
- for _, key := range keys {
- //fmt.Println("key", key)
- data, err := rdb.GetRDB().Get(context.Background(), key).Result()
- if err != nil {
- logrus.Error(err)
- return nil, err
- }
- resultMap[key] = data
- }
- // 没有更多key了
- if cursor == 0 {
- break
- }
- }
- return resultMap, nil
- }
|