溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

支持分布式緩存的orm是怎樣的

發(fā)布時(shí)間:2022-01-14 16:27:47 來(lái)源:億速云 閱讀:112 作者:柒染 欄目:云計(jì)算

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)支持分布式緩存的orm是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

給Orm 追加了分布式redis的支持, 目的是為了解決游戲服務(wù)器開(kāi)發(fā)時(shí), 數(shù)據(jù)變更的快速處理。 

Insert

go get github.com/ablegao/orm

##數(shù)據(jù)庫(kù)Model 建立方法

//引用模塊
import "github.com/ablegao/orm"

//mysql 驅(qū)動(dòng)
import _ "github.com/go-sql-driver/mysql"

//建立連接 
// 參數(shù)分別為 名稱 , 驅(qū)動(dòng), 連接字符串
// 注:必須包含一個(gè)default 連接, 作為默認(rèn)連接。
orm.NewDatabase("default" , "mysql" , "user:passwd@ip/database?charset=utf8")


//建立一個(gè)數(shù)據(jù)模型。 
type UserInfo struct {
	orm.Object
	Id int64 `field:"id" auto:"true" index:"pk"`
	Name string `field:"username"`
	Passwd string `field:"password"`
}

更多信息>>

##新增 CacheModel 模型, 支持分布式redis作為數(shù)據(jù)庫(kù)緩存。

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")  //添加多個(gè)redis服務(wù)器
	orm.SetCachePrefix("nado") //默認(rèn)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() //不執(zhí)行不會(huì)保存到數(shù)據(jù)庫(kù) 只會(huì)修改redis數(shù)據(jù)。 


}

上述就是小編為大家分享的支持分布式緩存的orm是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)
推薦閱讀:
  1. 什么是ORM
  2. ORM的使用

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

orm
AI