PHP在mySQL中存储一些数据x小时(有限时间)

PHP在mySQL中存储一些数据x小时(有限时间),php,mysql,laravel,Php,Mysql,Laravel,如何在有限的时间内(例如1小时)将数据存储在数据库中 用户搜索某个对象,在服务器端执行逻辑并加载搜索结果。当结果被加载时,我想将其存储在MySQL中,并且只保存x小时。x小时后,应从数据库中删除此数据 如何在Laravel或PHP中实现这一点(这对我来说无关紧要。我刚才提到了Laravel,因为它可能有一些库来实现这一点)?它是关于用SQL编写逻辑还是一项PHP任务 如何做到这一点?有什么建议/链接/解决方案吗 多谢各位 它是关于用SQL编写逻辑还是一项PHP任务 使用php执行此操作会很麻烦,

如何在有限的时间内(例如1小时)将数据存储在数据库中

用户搜索某个对象,在服务器端执行逻辑并加载搜索结果。当结果被加载时,我想将其存储在MySQL中,并且只保存x小时。x小时后,应从数据库中删除此数据

如何在Laravel或PHP中实现这一点(这对我来说无关紧要。我刚才提到了Laravel,因为它可能有一些库来实现这一点)?它是关于用SQL编写逻辑还是一项PHP任务

如何做到这一点?有什么建议/链接/解决方案吗

多谢各位

它是关于用SQL编写逻辑还是一项PHP任务

使用
php
执行此操作会很麻烦,因为您总是需要发送请求以检查一条记录是否过期,然后发送另一条记录以删除。这可以通过
mysql
中的
events
实现

另外,别忘了检查
mysql

它是关于用SQL编写逻辑还是一项PHP任务

使用
php
执行此操作会很麻烦,因为您总是需要发送请求以检查一条记录是否过期,然后发送另一条记录以删除。这可以通过
mysql
中的
events
实现


另外,不要忘记检查带有过期时间戳的
mysql

标记记录,并让cron作业每分钟(或您喜欢的任何频率)运行一次以删除过期记录。

使用过期时间戳标记记录,并让cron作业每分钟(或您喜欢的任何频率)运行一次删除过期记录。

此任务的最佳解决方案是使用Redis数据库。PHP有两个驱动程序:pRedisphpRedis

pRedis是一个用PHP编写的实现,对于大量用户来说,它的运行速度相对较慢

phpRedis驱动程序是用C编写的,运行速度更快


使用$redis->psetex($key、$destroy\u time、$value)功能创建自毁记录。希望它对将来的任何人都有帮助

此任务的最佳解决方案是使用Redis数据库。PHP有两个驱动程序:pRedisphpRedis

pRedis是一个用PHP编写的实现,对于大量用户来说,它的运行速度相对较慢

phpRedis驱动程序是用C编写的,运行速度更快


使用$redis->psetex($key、$destroy\u time、$value)功能创建自毁记录。希望这对以后的任何人都有帮助

你能给每行加上一个时间戳吗?然后按不到
X
小时前添加的行进行查询?这些数据真的需要删除吗?是的。我需要删除这些数据。这意味着我异步地对数据库进行每秒的请求,并及时检查差异。考虑一个专用的缓存,如ReDIS或MycCache,而不是临时表。它们具有将自动执行此操作的过期属性。但正如@axlj所指出的,您可以只使用时间戳字段和过程来删除计划中的行。我的任务是将数据保存在数据库中,并且只需要将其保存一些时间hours@AndrewT你应该在几天内用你得到的答案回答你的问题。你能给每行一个时间戳吗?然后按不到
X
小时前添加的行进行查询?这些数据真的需要删除吗?是的。我需要删除这些数据。这意味着我异步地对数据库进行每秒的请求,并及时检查差异。考虑一个专用的缓存,如ReDIS或MycCache,而不是临时表。它们具有将自动执行此操作的过期属性。但正如@axlj所指出的,您可以只使用时间戳字段和过程来删除计划中的行。我的任务是将数据保存在数据库中,并且只需要将其保存一些时间hours@AndrewT你应该在几天内用你得到的答案回答你的问题。