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"
|
|
|
|
|
|
"github.com/gogf/gf/util/gutil"
|
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",
|
|
|
|
|
|
Pass: "123456",
|
|
|
|
|
|
Name: "test",
|
|
|
|
|
|
Type: "mysql",
|
|
|
|
|
|
Role: "master",
|
|
|
|
|
|
Charset: "utf8",
|
|
|
|
|
|
})
|
|
|
|
|
|
db, err := gdb.New()
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
panic(err)
|
|
|
|
|
|
}
|
|
|
|
|
|
// 开启调试模式,以便于记录所有执行的SQL
|
|
|
|
|
|
db.SetDebug(true)
|
2018-07-19 22:11:05 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 执行2次查询并将查询结果缓存3秒,并可执行缓存名称(可选)
|
|
|
|
|
|
for i := 0; i < 2; i++ {
|
|
|
|
|
|
r, _ := db.Table("user").Cache(3, "vip-user").Where("uid=?", 1).One()
|
|
|
|
|
|
gutil.Dump(r.ToMap())
|
|
|
|
|
|
}
|
2018-07-19 22:11:05 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 执行更新操作,并清理指定名称的查询缓存
|
|
|
|
|
|
db.Table("user").Cache(-1, "vip-user").Data(gdb.Map{"name": "smith"}).Where("uid=?", 1).Update()
|
2018-07-19 22:11:05 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 再次执行查询,启用查询缓存特性
|
|
|
|
|
|
r, _ := db.Table("user").Cache(3, "vip-user").Where("uid=?", 1).One()
|
|
|
|
|
|
gutil.Dump(r.ToMap())
|
|
|
|
|
|
}
|