使用Hset可以一次性对这个Hsh
_, err = conn.Do("HSet", "usere1", "age", 18)
if err != nil {
fmt.Println("set err=", err)
return
}
_, err = conn.Do("HSet", "usere1", "name", "jommmmmm")
if err != nil {
fmt.Println("set err=", err)
return
}
//3.通过go向redis读取数据string [key-val]
name1, err := redis.String(conn.Do("HGet", "usere1", "name"))
if err != nil {
fmt.Println("set err=", err)
return
}
fmt.Println("操作ok ", name1)
age1, err := redis.String(conn.Do("HGet", "usere1", "age"))
if err != nil {
fmt.Println("set err=", age1)
return
}
使用HMset可以一次性的赋予很多个值,使用HMGet可以获取多个字段表示的内容
_, err = conn.Do("HMSet", "user02", "name", "john", "age", 19)
if err != nil {
fmt.Println("HMset err=", err)
return
}
//3.通过go 向redis读取数据
r, err := redis.Strings(conn.Do("HMGet", "user02", "name", "age"))
if err != nil {
fmt.Println("hget err=", err)
return
}
for i, v := range r {
fmt.Printf("r[%d]=%s\n", i, v)
}
获取结果
将这个r直接打出来,发现是一个类似集合的形式,所以需要进行遍历来获取其中的每个元素。
//3.通过go 向redis读取数据
r, err := redis.Strings(conn.Do("HMGet", "user02", "name", "age"))
if err != nil {
fmt.Println("hget err=", err)
return
}
fmt.Println("r = ", r)
// for i, v := range r {
// fmt.Printf("r[%d]=%s\n", i, v)
// }
conn.Do,只是对于原本再client端的一些操作,使用Do来进行操作。