千家信息网

支持分布式缓存的orm是怎样的

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这期内容当中小编将会给大家带来有关支持分布式缓存的orm是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。给Orm 追加了分布式redis的支持, 目的是为了解
千家信息网最后更新 2024年11月14日支持分布式缓存的orm是怎样的

这期内容当中小编将会给大家带来有关支持分布式缓存的orm是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

给Orm 追加了分布式redis的支持, 目的是为了解决游戏服务器开发时, 数据变更的快速处理。

Insert

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是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

0