【发布时间】:2014-05-31 03:43:43
【问题描述】:
我有一个网站,用户可以在其中选择自己的用户名——但只能使用 3 天。所以三天后,用户名可供其他人选择。我设置了我的 mysql 表,以便在有人选择他们的用户名时插入一行用户名以及创建日期。处理我的目标的最佳方式是什么?我应该在 Mysql 中 3 天后自动删除该行(使用 Cron?)还是可以通过其他方式达到我的目标?
【问题讨论】:
-
每天运行一个 cron 作业以删除超过 3 天的帐户。
-
如果您有创建用户名的时间戳,您可以在检查用户名是否允许时检查用户名是否为 3 天或更早。这意味着禁用用户名列的
UNIQUE索引,如果您正在使用它...我建议不要删除,信息就是力量:P -
在生产站点上使用 cron 是最有效(也是最快)的方法吗?尤其是在托管网站上。
-
我不会为此考虑 cron 作业或事件,您可以简单地根据 SQL 中创建的日期使用户名无效。所以任何登录的人,查询可能是 select * from users where username=:username and created_date > - 3 days。这种方法意味着您的表有很多记录,但是您可以每周或每月等计划删除旧记录,而不是每天。
标签: php mysql sql database cron