网游服务器减少数据库操作
(金庆的专栏)
所有有限大小的数据都读入内存,在内存中处理。
如玩家的背包,玩家的技能。
尽量为数据作一个大小限制,使之可以读入内存处理。
如玩家的好友,如果不限制个数,就应该在数据库中处理,每次都要查询数据库。
但是如果限制好友个数为1k, 就可以读入内存处理。
对于无限大小的数据,应该在数据库处理,因为读入内存可能占用太大。
如一个玩家可以被无数玩家列为黑名单,无法对此作出个数限制。
所以判断玩家是否被列黑只能读数据库。
可以用一个代理进程读取部分数据,在内存中处理,以加快速度。
大部分数据仍在数据库,需要时才会读取。