Go Study Day10 - 中间件
子车轻罗 2019/8/31 go学习提升
# MySQL
推荐使用第三方库gorm
# 参考文档
- [1] gorm官方文档 (opens new window)
- [2] 轻量gorm文档 (opens new window)
- [3] 业务常用功能 (opens new window)
- [4] 李文周的博客 (opens new window)
# Redis
# 下载第三方库
go get -u github.com/go-redis/redis
1
# 连接
// 声明一个全局的redisdb变量
var redisdb *redis.Client
// 初始化连接
func initClient() (err error) {
redisdb = redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password set
DB: 0, // use default DB
})
_, err = redisdb.Ping().Result()
if err != nil {
return err
}
return nil
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 使用
func redisExample() {
err := redisdb.Set("score", 100, 0).Err()
if err != nil {
fmt.Printf("set score failed, err:%v\n", err)
return
}
val, err := redisdb.Get("score").Result()
if err != nil {
fmt.Printf("get score failed, err:%v\n", err)
return
}
fmt.Println("score", val)
val2, err := redisdb.Get("name").Result()
if err == redis.Nil {
fmt.Println("name does not exist")
} else if err != nil {
fmt.Printf("get name failed, err:%v\n", err)
return
} else {
fmt.Println("name", val2)
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24