Merge branch 'refs/heads/feat-conf-redis'

This commit is contained in:
junleea 2024-12-21 17:37:04 +08:00
commit fdc3674ff5
1 changed files with 26 additions and 1 deletions

View File

@ -477,7 +477,8 @@ func GetAllRedisInfo() ([]RedisInfo, error) {
} }
var redisInfos []RedisInfo var redisInfos []RedisInfo
for _, key := range keys { for _, key := range keys {
val, err := RedisClient.Get(ctx, key).Result() //先查看key类型再根据类型获取value
val, err := getKeyTypeAndData(key)
if err != nil { if err != nil {
fmt.Println("Error getting key: %v", err) fmt.Println("Error getting key: %v", err)
return nil, err return nil, err
@ -496,3 +497,27 @@ func GetAllRedisInfo() ([]RedisInfo, error) {
} }
return redisInfos, nil return redisInfos, nil
} }
func getKeyTypeAndData(key string) (string, error) {
ctx := context.Background()
key_type := RedisClient.Type(ctx, key).Val()
var val interface{}
var err error
switch key_type {
case "string":
val, err = RedisClient.Get(ctx, key).Result()
case "hash":
val, err = RedisClient.HGetAll(ctx, key).Result()
case "list":
val, err = RedisClient.LRange(ctx, key, 0, -1).Result()
case "set":
val, err = RedisClient.SMembers(ctx, key).Result()
case "zset":
val, err = RedisClient.ZRange(ctx, key, 0, -1).Result()
case "bitmap":
val, err = RedisClient.GetBit(ctx, key, 0).Result()
default:
val = "unknown type"
}
return fmt.Sprintf("%v", val), err
}