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 }