问题标签 [laravel-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
49 浏览

php - 在回调函数中调用命名空间类的静态方法

遇到了我在编码过程中遇到的最奇怪的错误。

我正在使用:带有文件驱动程序的 laravel 棘轮 websocket Laravel Cache

我正在尝试使用来自工匠命令类的 laravel 缓存从其闭包函数中缓存棘轮 websocket 响应消息。

当我在 websocket 响应上使用 var_dump 时,我会在终端上打印出所有消息。但是当我尝试保存在缓存中时,它返回 true 但缓存为空。不被存储,不显示错误消息。

这是我的代码:

0 投票
0 回答
55 浏览

php - Laravel 无法为序列化准备路由 [{fallbackPlaceholder}]。使用闭包

当我跑步时

或者

它的回报:

无法为序列化准备路线 [{fallbackPlaceholder}]。使用闭包。

在供应商/laravel/framework/src/Illuminate/Routing/Route.php:1150

我现在应该怎么做才能解决这个问题??????

0 投票
1 回答
18 浏览

laravel - 为什么 $lock=Cache::lock('name', $time) 的 $time 应该大于更新缓存时间?

我将此代码放在一个Route::get()方法中只是为了更快地测试它。这就是它的外观:

如果您(几乎)同时从两个浏览器到达这条路线。他们都会以dump(Cache::get('name'));. 第二个浏览器响应不应该被“锁定”吗?因为当它调用时$lock->get()应该返回false?那是因为当第二个浏览器试图到达这条路线时,锁应该仍然被设置。

如果执行之后的代码所需的时间$lock = Cache::lock('test', 4)小于 4,则相同的代码可以正常工作。如果您在 $sec<4 时设置 sleep($sec),您将看到到达此路由的第一个浏览器将响应第二个浏览器的结果Cache::get('name')将按预期响应“锁定”。

谁能解释为什么会这样?是不是假设该锁的任何get()方法(除了第一个方法)在设置锁的那段时间内返回 false 吗?我使用了 2 个不同的浏览器,但它也适用于来自同一浏览器的 2 个选项卡。

0 投票
1 回答
35 浏览

laravel - 如何通过回调函数使用 Laravel Cache::remember

我想引用一个私有函数作为 Cache::remember 函数的第三个参数。

取而代之的是(删除了 try{}catch() 以获得更简洁的代码)

我想这样做:

如果我尝试引用私有函数,则会收到此错误。

可能吗 ?如果是,我该怎么办?