前提
安装 redis 第三方库,参考go安装三方库
编程示例
写入读取操作字符串
代码
package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
func main() {
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println("redis.Dial err=", err)
return
}
_, err = conn.Do("Set", "name", "tomjerry")
if err != nil {
fmt.Println("set err=", err)
return
}
r, err := redis.String(conn.Do("Get", "name"))
//nameString := r.(string)
fmt.Println("操作ok,读取name 的值为", r)
}
运行
go run main.go
go: warning: ignoring go.mod in $GOPATH /Users/zld/goproject
操作ok,读取name 的值为 tomjerry
写入读取操作哈希数据
package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
func main() {
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println("redis.Dial err=", err)
return
}
_, err = conn.Do("HSet", "user01", "name", "john")
if err != nil {
fmt.Println("set err=", err)
return
}
_, err = conn.Do("HSet", "user01", "age", 18)
if err != nil {
fmt.Println("set err=", err)
return
}
r1, err := redis.String(conn.Do("HGet", "user01", "name"))
//nameString := r.(string)
if err != nil {
fmt.Println("set err=", err)
return
}
fmt.Println("操作ok,读取name 的值为", r1)
r2, err := redis.String(conn.Do("HGet", "user01", "age"))
//nameString := r.(string)
if err != nil {
fmt.Println("set err=", err)
return
}
fmt.Println("操作ok,读取age 的值为", r2)
}
go run main.go
go: warning: ignoring go.mod in $GOPATH /Users/zld/goproject
操作ok,读取name 的值为 john
操作ok,读取age 的值为 18
批量写入读取
package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
func main() {
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println("redis.Dial err=", err)
return
}
_, err = conn.Do("HMSet", "user02", "name", "john", "age", "19")
if err != nil {
fmt.Println("HMSet err=", err)
return
}
r, err := redis.Strings(conn.Do("HMGet", "user02", "name", "age"))
//nameString := r.(string)
if err != nil {
fmt.Println("HMGet err=", err)
return
}
fmt.Printf("r=%v\n", r)
for i, v := range r {
fmt.Printf("r[%d]=%s\n", i, v)
}
}
go run main.go
go: warning: ignoring go.mod in $GOPATH /Users/zld/goproject
r=[john 19]
r[0]=john
r[1]=19