在游戏中,经常需要跨天重置玩家数据,玩家在线的话,通常是开对应时间点的定时器重置玩家数据,玩家多的话,比较耗服务器CPU,如我在跨服碰到过3万多的玩家每天需要重置数据。。。
有个做法比较好,这里记录下(拿0点举例):
1、获取当天0点的时间戳,保存为A
2、玩家需要跨天0点重置的数据,这样保存:data[A]=玩家跨天数据
3、这样根据A获取玩家跨天数据,都是最新一天的数据了
有个可以优化的地方,A不用每次都计算,我们可以开一个0点的定时器来计算A,这样每天就只计算一次,何乐而不为。
在游戏中,经常需要跨天重置玩家数据,玩家在线的话,通常是开对应时间点的定时器重置玩家数据,玩家多的话,比较耗服务器CPU,如我在跨服碰到过3万多的玩家每天需要重置数据。。。
有个做法比较好,这里记录下(拿0点举例):
1、获取当天0点的时间戳,保存为A
2、玩家需要跨天0点重置的数据,这样保存:data[A]=玩家跨天数据
3、这样根据A获取玩家跨天数据,都是最新一天的数据了
有个可以优化的地方,A不用每次都计算,我们可以开一个0点的定时器来计算A,这样每天就只计算一次,何乐而不为。