请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

数据库查询缓存问题

查询缓存
get方法和all方法的第三个参数表示是否使用查询缓存,或者设置缓存标识。
$user = User::get(1,’’,true);
$list = User::all(‘1,2,3’,’’,true);
由于第二个参数是关联预载入定义,V5.0.6+版本开始,可以直接在第二个参数传入true表示开启查询缓存。

官方文档就这样几句讲的太简单了.对于这个缓存的机制和相关配置都不清楚.
缓存需要的内存空间,缓存有效期的时间.源数据变动后缓存的更新机制.使用时有什么需要注意的地方.这些都希望老师能帮助解答一下.
或者提供相关的参考文档链接便于学习和掌握.

还请老师指点.

正在回答

插入代码

1回答

开源的文档不会讲的这么详细的。TP里的查询缓存我记得是更新于TP源码里的文件里的,文档里有个命令可以生成数据库表缓存。这些没有文档,只有看源码。

0 回复 有任何疑惑可以回复我~
  • 非常感谢!好吧,感谢指点.我在源码中看到了数据库查询缓存是以查询条件为key,记录在cache()缓存中的.有效期默认使用的config中cache.expire 这样我默认缓存时间0的话.后续数据库更新,缓存却不更新,造成了很大的问题...但是源码给出的接口缺不够开放.在不修改源码的前提下,想不明白怎么合理使用这个数据库查询缓存
    回复 有任何疑惑可以回复我~ 2018-11-28 12:24:40
  • 7七月 回复 提问者 虚小空圆圆圆_RS003 #2
    其实没有意义,mysql本身有缓存机制,更多的业务缓存用redis就好。
    回复 有任何疑惑可以回复我~ 2018-11-28 13:40:20
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号