octane cache中的interval如何使用呢

1. 运行环境

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

9

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

PHP 版本:8.1

2. 问题描述?

Cache::store('octane')->interval('random', function () {
    return Str::random(10);
}, seconds: 5);
echo(Cache::store('octane')->get('random'));

//在间隔期内每次获取到的结果都是重新生成的随机字符串 

//查看源码

public function get($key)
{
$record = $this->table->get($key);
    if (! $this->recordIsFalseOrExpired($record)) {
        return unserialize($record['value']);
    }
    if (in_array($key, $this->intervals) &&
        ! is_null($interval = $this->getInterval($key))) {
        return $interval['resolver']();
    }
}
    似乎每次返回的都是function(){}()本身

3. 您期望得到的结果?

间隔期内返回相同数据

4. 您实际得到的结果?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
梦想星辰大海
最佳答案

octane的驱动引擎必须是swoole

Cache::store(‘octane’)->interval(),放在Provider的boot方法中

1个月前 评论
梦想星辰大海 (作者) 1个月前
qq380998880 (楼主) 1个月前
讨论数量: 5
Cache::store('octane')->interval('random', function () {
    return Str::random(10);
}, seconds: 5)

random 是缓存keyseconds:5是每5秒刷新一次。

使用: echo Cache::store('octane')->get('random');

1个月前 评论
qq380998880 (楼主) 1个月前
梦想星辰大海

octane的驱动引擎必须是swoole

Cache::store(‘octane’)->interval(),放在Provider的boot方法中

1个月前 评论
梦想星辰大海 (作者) 1个月前
qq380998880 (楼主) 1个月前

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