Rails 求助, includes 是如何双向绑定并且持久化的?

shiba · June 16, 2021 · Last by shiba replied at June 21, 2021 · 615 hits

最近一个业务是仿照 includes 对多个模型进行取值,统一 sql 查询达到减少 IO 的频率,看了半天 incldes 的实现原理还是比较懵,rails 是如何对 sql 查出的数据进行持久保存的,includes 又是如何在调用 has_many 时直接取查询到的数据而不走数据库的。

有点没看懂题目描述,大概是这个?

https://ruby-china.org/topics/17866

顺便问下:includes 是咋和“双向绑定”这个词联系到一起的?

Reply to spike76

这里的双向绑定是说数据如何知道当在 includes 中声明了某个模型关系的时候,在业务中通过实例调用时,rails 是如何保存模型关联与数据的绑定的,又是如何不触发 sql 查询而直接获取到数据的 (不考虑懒加载).所以我就不太严谨的用了"双向绑定"这个词

你想说的是为什么走缓存么?

Reply to bighuzi

目前是想写一个拦截器,初始化所有需要使用到的数据,然后实现 sql 缓存机制让当前进程能通用缓存而不是再去查数据库,不知道可不可行。

shiba closed this topic. 14 Jul 19:31
You need to Sign in before reply, if you don't have an account, please Sign up first.