已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
六年前关闭了。
Improve this question
我想在php/mysql中创建一个类似Snapchat的东西,它会在24小时后自动删除行。我读过关于cron jobs的文章,但它会减慢应用程序的速度,所以我想知道是否有其他方法可以做到这一点?
已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
六年前关闭了。
Improve this question
我想在php/mysql中创建一个类似Snapchat的东西,它会在24小时后自动删除行。我读过关于cron jobs的文章,但它会减慢应用程序的速度,所以我想知道是否有其他方法可以做到这一点?
3条答案
按热度按时间e5njpo681#
你现在看到的实际上是这样的:
只要你填充
created_at
并索引它,这个过程应该会很快运行,如果你有很多记录,我的意思是超过1亿条,你需要把它们隔开:在那里你可以做10K的块或任何工作最好。
Postgres使用的符号略有不同:
fcipmucu2#
对于你的问题,有很多方法可以做到:
1.应用内(服务器端)作业(php中的
new EvTimer()
,node/js中的setInterval()
,Java中的javax.swing.Timer
等)1.线程+睡眠(请不要这样做)
1.报警信号(您可能不应该)
但是,而不是删除间隔和依赖它,我建议下面,它也会给予你准确的24小时的正确性(你可能不需要它,但它是好的无论如何):
elcex8rz3#
虽然为数据库的每一行添加一个cron作业肯定不是一个好主意,但我不认为每小时(或每30分钟,或每天一次)运行一个cron作业有什么问题,它会删除超过24小时的所有条目。
您还可以确保在查询条目时不会返回超过24小时的条目。