【发布时间】:2021-07-20 00:56:57
【问题描述】:
$value = Cache::remember('test', 1, function() {
return 'Jabra2';
});
这只是一个示例代码。它应该在 $value 中返回“Jabra2”。但是,在我的制作中,虽然设置为 1 分钟,但它仍然返回旧值“Jabra”。
知道为什么会这样吗? (我正在使用文件缓存)
【问题讨论】:
$value = Cache::remember('test', 1, function() {
return 'Jabra2';
});
这只是一个示例代码。它应该在 $value 中返回“Jabra2”。但是,在我的制作中,虽然设置为 1 分钟,但它仍然返回旧值“Jabra”。
知道为什么会这样吗? (我正在使用文件缓存)
【问题讨论】:
第二个参数是秒,而不是分钟。您将缓存设置为 1 秒后过期。
过去是分钟到 5.7,但在 5.8 中进行了更改。
推荐的方法是不使用整数,而是使用 Carbon 实例:
Cache::remember('test', now()->addMinute(), function() { ... });
有关更改的文档:https://laravel.com/docs/5.8/upgrade#cache-ttl-in-seconds
【讨论】: