Cache::set() 不生效

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel Framework Lumen (5.5.2) (Laravel Components 5.5.*)

2). 当前使用的 php/php-fpm 版本?

PHP 版本:PHP 7.3.4 (cli) (built: Apr 2 2019 21:57:22) ( NTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v3.1.6, Copyright (c) 2002-2022, by Derick Rethans

php-fpm 版本:

3). 当前系统

Windows 10

4). 业务环境

开发环境

5). 相关软件版本

nginx version: nginx/1.20.2

2. 问题描述?

// env
CACHE_DRIVER=redis

// code
use Illuminate\Support\Facades\Cache;

// 这样可以
Cache::rememberForever($today, function () use ($data) {
    return $data;
});
// 这样不可以
Cache::set($today, $data, 100);
// 这样可以
Cache::put($today, $data, 100);
// 这样可以
Cache::get($today);

3. 您期望得到的结果?

Cache::set 正常使用

4. 您实际得到的结果?

$a = Cache::set($today, [11222], 100);
dump($a); // 返回值是 null,缓存中无内容

5.另外一个项目是正常的

Laravel Framework Lumen (8.2.4) (Laravel Components ^8.0)

感谢阅读,有收获的话不妨点个赞:smiling_imp:
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

我刚重启了一下电脑就好了 :sweat_smile: 不知道为啥

不过又出现了新问题, ttl 填的 100 看代码提示,应该一个是秒,一个是分,好像都变成了 100 分钟

file

7个月前 评论
讨论数量: 12

$data 变量 修改成字符串试一下呢?

7个月前 评论

$a = Cache::set($today, [11222], 100); set方法的返回值就是null啊

7个月前 评论
fofome (作者) 7个月前
wml_macho 7个月前
declandragon (楼主) 7个月前
declandragon (楼主) 7个月前

有没有可能你版本太低了,set就是put的别名,直接用put就行。还有可能你过期时间太短了,没记错这个好像是秒,设置几个小时几天试下

7个月前 评论
declandragon (楼主) 7个月前
deatil (作者) 7个月前
declandragon (楼主) 7个月前

我刚重启了一下电脑就好了 :sweat_smile: 不知道为啥

不过又出现了新问题, ttl 填的 100 看代码提示,应该一个是秒,一个是分,好像都变成了 100 分钟

file

7个月前 评论

过期时间直接用carbon,比如:now()->addDay()

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!