Chr*_*ski 6 achievements badge
我喜欢我正在设计的网站的徽章和成就的概念.它们已经被证明可以提高消费/使用率,我认为这可能是我想要开发的应用程序的一大动力.
从高层次来看,我可以想到3种方法.
检查满足cron工作要求的成员:这对我来说似乎不是一个好主意,因为成员数量增加,cron工作需要更长时间才能完成.
每次动作完成后,可能满足徽章的要求,检查是否任何徽章应该颁给:这似乎是一个好办法做到这一点,但似乎我可能砸向服务器上的徽章连续检查已被授予或用户可能甚至不接近.
每次用户完成可以获得徽章的操作时,请检查他们是否已经拥有徽章,然后检查它们是否符合要求:这似乎也没问题,但如果我将用户存储为对象,则看起来像它可能会变得非常大,或者我可能最终会非常难以检查数据库以检查成就.
我有什么选择吗?我对一种或多种方法的担忧是否被夸大了?
编辑: 这是一个比我想象的要少得多的问题,还是在一个糟糕的时刻问我?我有什么不清楚的地方吗?
或者结合您的两个想法:
每次用户完成可以获得徽章的操作时,将用户放入一个列表中(如果他尚不存在)并使用 cron 频繁处理该列表。
这样您就不必在每次用户完成操作时进行检查,并且可以使 cron 作业保持合理。
当然还有一些变体:比如当列表达到一定数量时对其进行处理。或者在将用户添加到列表之前部分检查要求。
我想这取决于用户数量、可以完成的可用操作等。
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |