laravel collection 结果存入redis缓存 为什么还会再去查询呢?

请问各位大佬~
我将结果用 collection 格式化,在 collection 中有做数据库查询

然后我将结果存入 redis,为什么每次还会走到 collection 呢,我 dd 确实能走的到,为什么不是直接返回 redis 结果呢~~

Laravel

collection 结果是这样子的,所以他会去查? 我不想让他查,该如何格式化他的最终结果呢

laravel collection 结果存入redis缓存 为什么还会再去查询呢?

chowjiawei
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
chowjiawei
最佳答案

由于 laravel 存入的是对象,他在返回的时候会自己转数据,导致的问题

使用 get_class_methods 查询到有直接获取结果的方法 在存入缓存的时候 $data->response () 只要他的结果就行

3年前 评论
讨论数量: 2

你直接存集合,Laravel 自动序列化,取值的时候会重新查一遍。 用 toArray 应该可以避免,你试一下

3年前 评论
chowjiawei (楼主) 3年前
chowjiawei

由于 laravel 存入的是对象,他在返回的时候会自己转数据,导致的问题

使用 get_class_methods 查询到有直接获取结果的方法 在存入缓存的时候 $data->response () 只要他的结果就行

3年前 评论