问题标签 [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.
php - 在回调函数中调用命名空间类的静态方法
遇到了我在编码过程中遇到的最奇怪的错误。
我正在使用:带有文件驱动程序的 laravel 棘轮 websocket Laravel Cache
我正在尝试使用来自工匠命令类的 laravel 缓存从其闭包函数中缓存棘轮 websocket 响应消息。
当我在 websocket 响应上使用 var_dump 时,我会在终端上打印出所有消息。但是当我尝试保存在缓存中时,它返回 true 但缓存为空。不被存储,不显示错误消息。
这是我的代码:
php - Laravel 无法为序列化准备路由 [{fallbackPlaceholder}]。使用闭包
当我跑步时
或者
它的回报:
无法为序列化准备路线 [{fallbackPlaceholder}]。使用闭包。
在供应商/laravel/framework/src/Illuminate/Routing/Route.php:1150
我现在应该怎么做才能解决这个问题??????
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 个选项卡。
laravel - 如何通过回调函数使用 Laravel Cache::remember
我想引用一个私有函数作为 Cache::remember 函数的第三个参数。
取而代之的是(删除了 try{}catch() 以获得更简洁的代码):
我想这样做:
如果我尝试引用私有函数,则会收到此错误。
可能吗 ?如果是,我该怎么办?