HGETALL

作者: NotFoundW | 来源:发表于2020-04-15 16:27 被阅读0次

HGETALL

  1. 如果hash表存在字段,则返回所有字段名以及对应的值。
  2. 如果key不存在,则返回空列表

Command

$ redis-cli.exe -h 127.0.0.1 -p 6379
127.0.0.1:6379> hset snake name kobe
(integer) 1
127.0.0.1:6379> hset snake number 24
(integer) 1
127.0.0.1:6379> hgetall snake
1) "name"
2) "kobe"
3) "number"
4) "24"
127.0.0.1:6379> del snake
(integer) 1
127.0.0.1:6379> hgetall snake
(empty list or set)

Code

func Hgetall(c redis.Conn) {
    defer c.Do("DEL", "snake")
    // If hash table has fields, will return names and values of all the fields.
    c.Do("HSET", "snake", "name", "kobe")
    c.Do("HSET", "snake", "number", "24")
    fieldsAndValues, err := redis.Strings(c.Do("HGETALL", "snake"))
    if err != nil {
        colorlog.Error(err.Error())
        return
    }
    for i, v := range fieldsAndValues {
        if i%2 == 0 {
            fmt.Println("field", i/2, "is:", v)
        } else {
            fmt.Println("value of field", (i-1)/2, "is:", v)
        }
    }
    //  If key doesn't exist, will return an empty list.
    c.Do("DEL", "snake")
    fieldsAndValues, err = redis.Strings(c.Do("HGETALL", "snake"))
    if err != nil {
        colorlog.Error(err.Error())
        return
    }
    fmt.Println("If key doesn't exist, will return an empty list. List's length is:", len(fieldsAndValues))
}

Output

$ go run main.go 
field 0 is: name
value of field 0 is: kobe
field 1 is: number
value of field 1 is: 24
If key doesn't exist, will return an empty list. List's length is: 0

相关文章

网友评论

      本文标题:HGETALL

      本文链接:https://www.haomeiwen.com/subject/slocvhtx.html