MySQL-游戏在线人数统计算法如何设计?
描述:
查询游戏在线人数:
每组服务器的在线人数 都保存在一个库的某一张表中!
现在有一个需求是查询服务器的总在线人数? 有什么好的设计办法吗?
我现在思路:
1、写多个QUERY 把所有的结果累加
2、所所有服务器的数据都汇总到一张表里面
大家感觉那种更合理, 有什么好的解决办法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果连在线用户都统计困难的游戏真没必要用表或者memcache来实现这个
遍历下session得到目前有效登录用户就是了
游戏的在线人数要求要实时准确性,一般情况是有一张用户临时汇总表的,这个表临时存储用户活动信息,比如登录、消费等等;而这个表的数据是通过一个预处理cron实时更新的,这个预处理用来处理用户的一些登录日志、充值日志、消费日志等活动日志,从而汇总更新这个临时表,这些经常访问的数据要放到 memcache 里,可以减轻数据库的压力!
不管是将所有数据都汇总到一个表里还是放在各自的库里,都可以,同时把你的在线人数的数据放在Memcache里也保存一份,然后当更新数据库里的在线人数时同时也更新Cache里的数据,这样你在查询的时候只需要从Cache里当前的在线人数就好了,可以缓存数据库的压力.