2018-07-19 22:11:05 +08:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
2019-07-29 21:01:19 +08:00
|
|
|
|
"github.com/gogf/gf/database/gdb"
|
2021-09-13 16:43:09 +08:00
|
|
|
|
"github.com/gogf/gf/os/gctx"
|
2019-07-29 21:01:19 +08:00
|
|
|
|
"github.com/gogf/gf/util/gutil"
|
2020-09-27 00:15:11 +08:00
|
|
|
|
"time"
|
2018-07-19 22:11:05 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func main() {
|
2019-04-03 00:03:46 +08:00
|
|
|
|
gdb.AddDefaultConfigNode(gdb.ConfigNode{
|
|
|
|
|
|
Host: "127.0.0.1",
|
|
|
|
|
|
Port: "3306",
|
|
|
|
|
|
User: "root",
|
2020-09-27 00:15:11 +08:00
|
|
|
|
Pass: "12345678",
|
2019-04-03 00:03:46 +08:00
|
|
|
|
Name: "test",
|
|
|
|
|
|
Type: "mysql",
|
|
|
|
|
|
Role: "master",
|
|
|
|
|
|
Charset: "utf8",
|
|
|
|
|
|
})
|
2021-09-13 16:43:09 +08:00
|
|
|
|
var (
|
|
|
|
|
|
ctx = gctx.New()
|
|
|
|
|
|
)
|
2019-04-03 00:03:46 +08:00
|
|
|
|
db, err := gdb.New()
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
panic(err)
|
|
|
|
|
|
}
|
2020-09-27 00:15:11 +08:00
|
|
|
|
//db.GetCache().SetAdapter(adapter.NewRedis(g.Redis()))
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 开启调试模式,以便于记录所有执行的SQL
|
|
|
|
|
|
db.SetDebug(true)
|
2018-07-19 22:11:05 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 执行2次查询并将查询结果缓存3秒,并可执行缓存名称(可选)
|
2020-09-27 00:15:11 +08:00
|
|
|
|
for i := 0; i < 3; i++ {
|
2021-09-13 16:43:09 +08:00
|
|
|
|
r, _ := db.Ctx(ctx).Model("user").Cache(3000*time.Second).Where("id=?", 1).One()
|
2020-09-27 00:15:11 +08:00
|
|
|
|
gutil.Dump(r.Map())
|
2019-04-03 00:03:46 +08:00
|
|
|
|
}
|
2018-07-19 22:11:05 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 执行更新操作,并清理指定名称的查询缓存
|
2020-09-27 00:15:11 +08:00
|
|
|
|
//db.Table("user").Cache(-1, "vip-user").Data(gdb.Map{"name": "smith"}).Where("id=?", 1).Update()
|
2018-07-19 22:11:05 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 再次执行查询,启用查询缓存特性
|
2020-09-27 00:15:11 +08:00
|
|
|
|
//r, _ := db.Table("user").Cache(300000*time.Second, "vip-user").Where("id=?", 1).One()
|
|
|
|
|
|
//gutil.Dump(r.Map())
|
2019-04-03 00:03:46 +08:00
|
|
|
|
}
|