0

我在 LAMP 堆栈上使用 MySQL 数据库。我有一张桌子,里面有一些简单的条目。这些条目应该在十分钟未使用后自动删除。“正在使用”被定义为通过 SELECT 插入、更新或简单地请求(显然删除并不重要)。我想为此使用纯 MySQL,但还没有找到解决方案。如果需要,这些字段可以具有 table.time_used 属性,但还没有。不过创建一个也没问题。我在想一些 TRIGGER 和 PROCEDURE 的组合,但还没有弄清楚。

我知道我可以使用一些第三方应用程序,如 cron,但我更喜欢 MySQL 解决方案,因为该项目可能会被复制到无法选择 cron 的其他环境。

我也知道可以通过使用 table 和 table.expiration_time 字段更改 SELECT 语句来做到这一点,这也可能更准确,但我不需要它在第二个上工作,我只需要大约十分钟和想保持干净,因为这可能在非常有限的机器上运行。

提前致谢!:)

4

1 回答 1

1

我建议通过存储过程进行所有lastUsed访问,然后控制更新日期时间。

存储过程之外的临时访问不会强制执行lastUsed正在更新的方面。换句话说,这将是不受欢迎的。自然是可以用的,但因为控制不严,所以会出乎意料。

执行此操作的任何其他机制都将依赖于 MySQL 之外的全栈服务。

自动删除将通过MySQL中的内置事件功能发生。我的个人资料页面上有 3 个与活动相关的链接。一个开始看的是Here

于 2016-09-08T00:37:43.297 回答