Merge branch 'refs/heads/feat-conf-redis'
This commit is contained in:
commit
fdc3674ff5
|
|
@ -477,7 +477,8 @@ func GetAllRedisInfo() ([]RedisInfo, error) {
|
|||
}
|
||||
var redisInfos []RedisInfo
|
||||
for _, key := range keys {
|
||||
val, err := RedisClient.Get(ctx, key).Result()
|
||||
//先查看key类型,再根据类型获取value
|
||||
val, err := getKeyTypeAndData(key)
|
||||
if err != nil {
|
||||
fmt.Println("Error getting key: %v", err)
|
||||
return nil, err
|
||||
|
|
@ -496,3 +497,27 @@ func GetAllRedisInfo() ([]RedisInfo, error) {
|
|||
}
|
||||
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
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue