缓存TTL更改即将发布到Laravel 5.8

在Laravel 5.8开始,传递给司机缓存整数时使用的生存时间(TTL)将在秒而不是分钟。以秒为单位的缓存使用户可以更精细地控制缓存持续时间,并且符合PSR-16:

某项的生存时间(TTL)是指该项存储之间的时间间隔,并且该时间被认为是陈旧的。TTL通常由代表时间(以秒为单位)的整数或DateInterval对象定义。

从Laravel 5.0到当前稳定的Laravel 5.7,当您传递整数以缓存诸如put() 和的 存储操作时 remember(),持续时间以分钟表示:

Cache::remember('active-posts', 15, function () {
    return Post::active()->get();
});

为了简化从早期版本(5.5或更高版本)到Laravel 5.8的升级路径,您还可以将DateTimeInterface 或 传递 DateInterval 给 。您现在可以使用DateTime或间隔,而不必查找/替换并将所有内容转换为秒,并且可以使缓存时间更加清晰,这是一个额外的好处:Cache::put()

Cache::remember('active-posts', \DateInterval::createFromDateString('15 minutes'), function () {
    return Post::active()->get();
});

使用Carbon的示例 addMinutes():

Cache::remember('active-posts', now()->addMinutes(15), function () {
    return Post::active()->get();
});