| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package redisclient
- import (
- "context"
- "github.com/demdxx/gocast"
- "github.com/redis/go-redis/v9"
- "strconv"
- "time"
- )
- // redis 状态值管理
- const (
- TransferCallbackHandlerRedisStateKey = "TransferCallbackHandlerRedisStateKey"
- )
- var keyMap = map[string]interface{}{
- TransferCallbackHandlerRedisStateKey: "false",
- }
- // 服务重启 初始化状态
- func stateInit(rds redis.UniversalClient) {
- for key, val := range keyMap {
- err := rds.Set(context.Background(), key, val, time.Duration(0)).Err()
- if err != nil {
- panic(err)
- }
- }
- }
- func GetBoolFromRedis(key string) (bool, error) {
- ctx := context.Background()
- val, err := DefaultClient().Get(ctx, key).Result()
- if err != nil {
- // 不存在则初始化一个值
- if err == redis.Nil {
- if err = DefaultClient().Set(ctx, key, gocast.ToString(false), 0).Err(); err != nil {
- return false, err
- }
- } else {
- return false, err
- }
- }
- return strconv.ParseBool(val)
- }
- func SetBoolRoRedis(key string, ok bool) error {
- ctx := context.Background()
- return DefaultClient().Set(ctx, key, gocast.ToString(ok), time.Duration(0)).Err()
- }
|