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:
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

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

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

file

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

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

9个月前 评论

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

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

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

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

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

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

file

9个月前 评论

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

9个月前 评论