gpt4 book ai didi

Laravel 缓存不存储空值

转载 作者:行者123 更新时间:2023-12-05 09:18:03 24 4
gpt4 key购买 nike

我正在使用 Laravel 5.2 并希望缓存 Eloquent 结果,但它不会在缓存中存储空结果 (= null)。有什么办法吗?

return Cache::remember("cacheKey_{$id}", 120, function () use ($id) {
return FooModel::where(...)->first();
});

当结果不为空时,缓存正常。

最佳答案

Laravel 缓存不允许在缓存中存储 null 值,但您可以存储 false 值。

    cache(['key' => null],120)
var_dump(Cache::has('key')); //prints false
cache(['key' => false],120)
var_dump(Cache::has('key')); //prints true

所以我建议你尝试这样的事情:

return Cache::remember("cacheKey_{$id}", 120, function () use ($id) {
$your_check = FooModel::where(...)->first();
return is_null($your_check) ? false : $your_check;
});

或者,您可以假设当没有 key 时,它将为 null(检查 Cache::has()isset())

关于Laravel 缓存不存储空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45670095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com