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. 您实际得到的结果?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
梦想星辰大海
最佳答案

octane的驱动引擎必须是swoole

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

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

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

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

3周前 评论
qq380998880 (楼主) 3周前
梦想星辰大海

octane的驱动引擎必须是swoole

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

3周前 评论
梦想星辰大海 (作者) 3周前
qq380998880 (楼主) 3周前

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