README ¶
#数据库设计之DB
1. 服务器与客户端必要数据之间需要同步,非必要数据,可通过key或者id等获取配置数据显示,后续需要显示的数据,则可以通过客户端请求来获取,服务器需要对数据使用率来划分存储模块等级,通过需求,确认服务器数值范围(int,int8...),读写分离,缓存高效利用,减少数据库读写,一般数据库5min写入一次。
2. 确保代码逻辑操作数据库之前写入,新旧数据替换,新数据缓存中存放,利于后面客户端请求获取,都没必要每次读取数据库,减少io访问
3. 尽可能少使用定时器,一般定时器有几个层面:
3-1. 客户端一方定时器,在当前界面上,有时间流逝,逐渐减少,时间到0为止,客户端主动请求数据;
3-2. 服务器一方定时器,分为全局定时器和局部定时器,全局定时器为当前服务器所有,非指定玩家所有,则“一服一个”,如此不会存在多少性能影响;局部定时器,则为“一玩家一个”,如果单服10000个玩家,则10000个定时器,相当恐怖,性能消耗可想而知,定时器是不到万不得已是不能用的,尽量把服务器定时器移至客户端,减少损耗。服务器定时器使用时,玩家退出则相应的需要移除关掉,避免玩家退出后,定时器还一直工作影响服务器性能,玩家登陆或者断线重连,则注册进去即可。
Documentation ¶
Index ¶
- func MakeMgoModel(Identify, MainModel, SubModel string) string
- func Save(mgosession *mgo.Session, dbserver, redkey string, data interface{}) (err error)
- type TAokoMgo
- func (this *TAokoMgo) EnsureIndex(InParam IDBCache, idxs []string) (err error)
- func (this *TAokoMgo) Exit()
- func (this *TAokoMgo) GetMgoSession() (sess *mgo.Session, err error)
- func (this *TAokoMgo) InsertOne(Identify string, InParam IDBCache) (err error)
- func (this *TAokoMgo) NewDial()
- func (this *TAokoMgo) NewMgoSession() (session *mgo.Session, err error)
- func (this *TAokoMgo) QueryAcc(usrName string, OutParam IDBCache) (err error, exist bool)
- func (this *TAokoMgo) QueryByCondition(condition bson.M, OutParam IDBCache) (err error, exist bool)
- func (this *TAokoMgo) QueryOne(Identify string, OutParam IDBCache) (err error, exist bool)
- func (this *TAokoMgo) QuerySome(Identify string, OutParam IDBCache) (err error)
- func (this *TAokoMgo) SaveOne(Identify string, InParam IDBCache) (err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeMgoModel ¶
Types ¶
type TAokoMgo ¶
type TAokoMgo struct { sync.Mutex UserName string Passwd string ServiceHost string PoolCnt int // contains filtered or unexported fields }
func NewMgoConn ¶
func (*TAokoMgo) EnsureIndex ¶
func (*TAokoMgo) GetMgoSession ¶
func (*TAokoMgo) NewMgoSession ¶
func (*TAokoMgo) QueryByCondition ¶
Click to show internal directories.
Click to hide internal directories.