您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關支持分布式緩存的orm是怎樣的,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
給Orm 追加了分布式redis的支持, 目的是為了解決游戲服務器開發時, 數據變更的快速處理。
go get github.com/ablegao/orm
##數據庫Model 建立方法
//引用模塊 import "github.com/ablegao/orm" //mysql 驅動 import _ "github.com/go-sql-driver/mysql" //建立連接 // 參數分別為 名稱 , 驅動, 連接字符串 // 注:必須包含一個default 連接, 作為默認連接。 orm.NewDatabase("default" , "mysql" , "user:passwd@ip/database?charset=utf8") //建立一個數據模型。 type UserInfo struct { orm.Object Id int64 `field:"id" auto:"true" index:"pk"` Name string `field:"username"` Passwd string `field:"password"` }
更多信息>>
##新增 CacheModel 模型, 支持分布式redis作為數據庫緩存。
import "github.com/ablegao/orm" import _ "github.com/go-sql-driver/mysql" type userB struct { CacheModule Uid int64 `field:"Id" index:"pk" cache:"user" ` Alias string `field:"Alias"` Money int64 `field:"money" ` } func main(){ orm.CacheConsistent.Add("127.0.0.1:6379") //添加多個redis服務器 orm.SetCachePrefix("nado") //默認nado . 將作為redis key 的前綴 NewDatabase("default", "mysql", "happy:passwd@tcp(127.0.0.1:3306)/mydatabase?charset=utf8") b := new(userB) b.Uid = 10000 err:=b.Objects(b).One() if err!= nil { panic(err) } fmt.Println(b.Uid ,b.Alias ,b.Money) b.Incrby("Money" , 100) fmt.Println(b.Money) b.Save() //不執行不會保存到數據庫 只會修改redis數據。 }
上述就是小編為大家分享的支持分布式緩存的orm是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。