MgoConn

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2020 License: MIT Imports: 10 Imported by: 0

README

#数据库设计之DB

1. 服务器与客户端必要数据之间需要同步,非必要数据,可通过key或者id等获取配置数据显示,后续需要显示的数据,则可以通过客户端请求来获取,服务器需要对数据使用率来划分存储模块等级,通过需求,确认服务器数值范围(int,int8...),读写分离,缓存高效利用,减少数据库读写,一般数据库5min写入一次。

2. 确保代码逻辑操作数据库之前写入,新旧数据替换,新数据缓存中存放,利于后面客户端请求获取,都没必要每次读取数据库,减少io访问

3. 尽可能少使用定时器,一般定时器有几个层面:

3-1. 客户端一方定时器,在当前界面上,有时间流逝,逐渐减少,时间到0为止,客户端主动请求数据;

3-2. 服务器一方定时器,分为全局定时器和局部定时器,全局定时器为当前服务器所有,非指定玩家所有,则“一服一个”,如此不会存在多少性能影响;局部定时器,则为“一玩家一个”,如果单服10000个玩家,则10000个定时器,相当恐怖,性能消耗可想而知,定时器是不到万不得已是不能用的,尽量把服务器定时器移至客户端,减少损耗。服务器定时器使用时,玩家退出则相应的需要移除关掉,避免玩家退出后,定时器还一直工作影响服务器性能,玩家登陆或者断线重连,则注册进去即可。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeMgoModel

func MakeMgoModel(Identify, MainModel, SubModel string) string

func Save

func Save(mgosession *mgo.Session, dbserver, redkey string, data interface{}) (err error)

Types

type TAokoMgo

type TAokoMgo struct {
	sync.Mutex

	UserName    string
	Passwd      string
	ServiceHost string

	PoolCnt int
	// contains filtered or unexported fields
}

func NewMgoConn

func NewMgoConn(server, Username, Passwd, Host string) *TAokoMgo

func (*TAokoMgo) EnsureIndex

func (this *TAokoMgo) EnsureIndex(InParam IDBCache, idxs []string) (err error)

func (*TAokoMgo) Exit

func (this *TAokoMgo) Exit()

func (*TAokoMgo) GetMgoSession

func (this *TAokoMgo) GetMgoSession() (sess *mgo.Session, err error)

func (*TAokoMgo) InsertOne

func (this *TAokoMgo) InsertOne(Identify string, InParam IDBCache) (err error)

func (*TAokoMgo) NewDial

func (this *TAokoMgo) NewDial()

func (*TAokoMgo) NewMgoSession

func (this *TAokoMgo) NewMgoSession() (session *mgo.Session, err error)

func (*TAokoMgo) QueryAcc

func (this *TAokoMgo) QueryAcc(usrName string, OutParam IDBCache) (err error, exist bool)

func (*TAokoMgo) QueryByCondition

func (this *TAokoMgo) QueryByCondition(condition bson.M, OutParam IDBCache) (err error, exist bool)

func (*TAokoMgo) QueryOne

func (this *TAokoMgo) QueryOne(Identify string, OutParam IDBCache) (err error, exist bool)

func (*TAokoMgo) QuerySome

func (this *TAokoMgo) QuerySome(Identify string, OutParam IDBCache) (err error)

func (*TAokoMgo) SaveOne

func (this *TAokoMgo) SaveOne(Identify string, InParam IDBCache) (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL