HGET
2020-04-15 本文已影响0人
NotFoundW
HGET
- 如果字段存在,返回字段对应的值
- 如果字段不存在,返回nil
- 如果key不存在,返回nil
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> hget snake name
"kobe"
127.0.0.1:6379> hget snake fakeField
(nil)
127.0.0.1:6379> exists fakeKey
(integer) 0
127.0.0.1:6379> hget fakeKey fakeField
(nil)
Code
func Hget(c redis.Conn) {
defer c.Do("DEL", "snake")
// If field is existing, will return the value of field.
c.Do("HSET", "snake", "name", "kobe")
valueOfField, err := redis.String(c.Do("HGET", "snake", "name"))
if err != nil {
colorlog.Error(err.Error())
return
}
fmt.Println("Value of field name is:", valueOfField)
// If field doesn't exist, will return nil.
valueOfField, err = redis.String(c.Do("HGET", "snake", "fakeField"))
if err != nil {
colorlog.Error(err.Error())
}
// If key doesn't exist, will return nil.
isExist, _ := c.Do("EXISTS", "fakeKey")
if isExist == 1 {
c.Do("DEL", "fakeKey")
}
valueOfField, err = redis.String(c.Do("HGET", "fakeKey", "fakeField"))
if err != nil {
colorlog.Error(err.Error())
}
}
Output
$ go run main.go
Value of field name is: kobe
[ERR]2020/04/15 10:41:49 redigo: nil returned
[ERR]2020/04/15 10:41:49 redigo: nil returned