我遇到了一个非常棘手的问题,需要你的帮助
注意
我说的是1万次点击/天
<<p> 任务/strong>- 不占用太多主机资源
- 没有得到我的网站加载缓慢
我有一个网站,会给每一个独特的访问者一个点。
- 如果该访客在上次访问后不到12小时内再次访问,则不计算。
- 如果该访客在12小时后再次访问,他将被视为新访问,并将获得1分。
有很多方法可以做到这一点,但看起来它们对大流量的网站不够好。
如果我在每次访问的数据库中记录IP和时间,如果该访问者再次访问,那么我将按IP和时间进行比较。要知道是新ip的新访客还是在12小时内或12小时后访问的老访客。
这可能会花费时间并减慢整个网站的速度。
有什么想法或策略吗?
我一直在考虑跟踪Glenn Nelson的最佳答案的唯一访问者,但在我的情况下,我需要每12小时重新记录访问者。
你考虑过使用cookie吗?你可以使用:
set cookie expire time for 12 hrs.
if cookie_expired
give more points
else
renew cookie
只是一个简单的想法,我不完全确定它是否更快,但假设你有用户,你无论如何都需要一个cookie