我正在建设一个网站。它有用户可以加入的组。临时团体成员资格 - 任何聪明的方法来做到这一点?
这个和“正常”组的区别在于临时成员是 - 当用户加入一个组时,他决定了成员的长度:5天, 周,2周等等定义)。或者可能所有 成员资格可以设置为相同的长度 - 比如说一周 - 如果 使事情变得更简单。
我想有一个每个 组的成员数量的运行计数。这个数字不需要精确到最后一秒。 但它也不能已过时 - 比方说,应该每天更新一次 。
计算成员数量的“显而易见的”方式似乎是运行cron作业的 ,比如说每天一次,并逐个遍历每个 组的每个成员。如果成员资格已过期,请从该组中删除该成员 ,并将该组的成员资格计数减1。
该方法看起来非常低效且不具有可伸缩性。随着大量的团体,它可能需要永远。
你能想到一个更好的方法来做到这一点?最新的秒数不需要精确到会员数量 。它可以近似为 和(略)过时。此外,如果它有所作为,所有会员可以设置为相同的长度,比如一周。