API Resource 缓存没有效果?

使用了 Cache::remember,通过 Telescope 查看缓存的获取和保存都成功了,但是查看 RequestQuery ,数据库的查询语句依然执行了,看的我懵逼了。

目前发现获取 API Resource 缓存的时候,依然会去查询数据库。。。

file

不管是否对 API Resource 进行缓存,发现 Query 查询语句竟然是相同的。。。

api
坚持学习,每天进步!
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
Epona

Cache::remember是在哪部分设置的?

4年前 评论
        $seconds = 3600 * 24;
        $cache_key = 'category_'.md5(implode(',', $category_id));
        $category = Cache::remember($cache_key, $seconds, function () use ($category_id) {
            return Category::whereIn('id',$category_id)->get();
        });

        $cache_key = 'categories_resource_'.md5(implode(',', $category_id));
        $data['Category'] = Cache::remember($cache_key, $seconds, function () use ($category) {
            return CategoryResource::collection($category);
        });
        return $this->success($data);

前面 category 的缓存没有问题,没有再执行查询语句
后面对 categoryresource执行缓存就没有效果

4年前 评论

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