前言
功能大家都能实现,服务器性能优化可以提供用户体验,公司上个游戏是用C++写的pc端游,玩家多时服务器可能出现内存溢出的情况,现在做手游吸取经验做了不少优化
数据结构
玩家数据基本在player用户表,其余帮派、宠物、物品、活动管理,服务器配置等表
优化内存数据
服务器优化主要是内存优化,提高内存使用效率,不仅只是游戏,web项目优化没做好,有时页面交互卡个几秒,优化用户体验是很重要的
优先读内存
这个大家都知道,内存中有数据读取内存,内存中没数据读数据库
GePlayer(id)--获取内存中players是否存在,没有返回空
GoGePlayer(id)--获取内存中players是否存在,没有则查找数据库返回对象
减少数据库交互
玩家登录时,GoGePlayer实体对象加入players(table结构),也可以统计当前在线人数
缓存队列自动入库
以前项目的入库方法DBQueue,所有继承实体对象都是updateQueue即可,数据库不存在则插入。
现在项目对象修改完全都不需要数据库操作,缓存数据列表例如play