对 hash 数据结构,要求 field-val 一个一个放入和读取。
二 代码package main
import (
"fmt"
"github.com/garyburd/redigo/redis" // 引入redis包
)
func main() {
// 通过go 向redis 写入数据和读取数据
// 1 链接到 redis
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println("redis.Dial err=", err)
return
}
defer conn.Close() // 关闭
// 2 通过 go 向 redis 写入数据
_, err = conn.Do("HSet", "user01", "name", "john")
if err != nil {
fmt.Println("hset err=", err)
return
}
_, err = conn.Do("HSet", "user01", "age", 18)
if err != nil {
fmt.Println("hset err=", err)
return
}
// 3 通过 go 向 redis 读取数据
r1, err := redis.String(conn.Do("HGet", "user01", "name"))
if err != nil {
fmt.Println("hget err=", err)
return
}
r2, err := redis.Int(conn.Do("HGet", "user01", "age"))
if err != nil {
fmt.Println("hget err=", err)
return
}
fmt.Printf("操作ok r1=%v r2=%v \n", r1, r2)
}
三 测试
四 需求操作ok r1=john r2=18
对 hash 数据结构,要求 field-val 是批量放入和读取。
五 代码package main
import (
"fmt"
"github.com/garyburd/redigo/redis" // 引入redis包
)
func main() {
// 通过 go 向 redis 写入数据和读取数据
// 1 链接到 redis
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println("redis.Dial err=", err)
return
}
defer conn.Close() // 关闭
// 2 通过 go 向 redis 写入数据
_, 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[0]=john
r[1]=19