每小时点添加到用户php和mysql解决方案?

Ale*_*vić 1 php mysql time

在我工作的网站上我需要添加用户点.每个用户都拥有自己的积分,最大积分将为200.注册后,用户获得100积分.通过各种任务,将扣除用户点数.

但是我遇到的主要问题是如何向用户添加积分,因为每个用户每小时需要获得1分,除非他有200分或更多积分.

我的第一个想法是做一个cronjob,它会每小时运行一个脚本,它将检查用户是否已经过验证,如果用户少于200点并为每个用户添加1点.

但经过一些阅读后,我正在思考不同的方法,我完全不明白.更好的方法,更少的服务器资源消耗将是运行一个函数,该函数将在每次用户登录他有多少点时检查并向他添加适当数量的点.问题是我不知道如何设置它,如何计算添加到用户的数量,如果他离线8小时以及如何计时?或者甚至可以使用带定时器的ajax?

你的建议和方法是什么?

编辑:只是添加,因为你问,用户没有看到对方点.

Ham*_*bba 5

当用户执行某些操作时,请检查您上次给他们分数的时间.如果是5个小时前,给他们5分.如果是10个小时前,给他们10分.等等.实施缓存,以便用户在一小时内访问您的站点50次,您不必每次都检查数据库.

无论如何,简短的回答是,在加载用户数据时进行检查,而不是每小时自动对所有用户进行检查,无论它们是否处于活动状态.