我的数据集必须每24小时更新一次。这应该在00:00:00或之后的第一个请求发生。我们如何为此设置缓存记忆条件,因为它只允许设置分钟而不是时间?
答案 0 :(得分:2)
您可以使用Carbon
。在Larvel documentation中,我们可以找到一个示例,在十分钟后使缓存失效:
$expiresAt = Carbon::now()->addMinutes(10);
Cache::put('key', 'value', $expiresAt);
您想要它来确定一天的结束。幸运的是Carbon提供了一切:
$expiresAt = Carbon::now()->endOfDay();
这将为您提供当天23:59:59的最后一秒。只需添加一秒即可满足您的要求:
$expiresAt = Carbon::now()->endOfDay()->addSecond();
答案 1 :(得分:0)
不是完整的答案,我试图找到一种方法来缓存一天的开始或第一天的请求。经过
append date to predefined key
所以你想要的很简单,如果你想要一个简单的解决方案,你可以在你的数据库中添加一个表,它只有两个属性:id和date。从此处有人登录时,检查当天是否有登录,如果没有,则执行您必须执行的操作。
修改强>
当有人登录时,您更新表格中的日期。