美文网首页
ThinkPHP3.2数据字段缓存造成的bug

ThinkPHP3.2数据字段缓存造成的bug

作者: 安然_2274 | 来源:发表于2018-07-13 11:20 被阅读0次

前几天,数据自动同步出现了bug,使用的框架是tp3.2,一条本该带条件的更新语句,结果不带条件的帮我把数据全部更新了。辛亏影响的用户数据才一百多,手动修复了一下午。

又去翻了一下文档,发现文档有写,不能说是tp的bug。只能说是没认真看文档。

看了一下源码,tp在操作数据的时候,会把不存在的字段自动忽略掉。

正式环境默认开启数据字段缓存,而缓存机制是每个模型对应一个字段缓存文件(注意:并非每个数据表对应一个字段缓存文件),命名格式是:数据库名.数据表前缀+模型名(小写).php

因为之前没留意这个,数据库里弄了两个表app_dc_video和app_ky_video,表是不同的模块使用的,结构和数据都不一样,第一个是表是另一个同事后来加的,我在我的代码模块里命名了videoModel,他后来也在他代码模块用了videoModel,两个表的字段缓存名字是一样的,所以肯定有一个会覆盖另一个。导致数据更新出现了bug。

恩,故事告诉我们,使用框架一定要通读文档。

相关文章

  • ThinkPHP3.2数据字段缓存造成的bug

    前几天,数据自动同步出现了bug,使用的框架是tp3.2,一条本该带条件的更新语句,结果不带条件的帮我把数据全部更...

  • React native 遇到的bug

    1.在redux系统中,action中若要加载数据,加载过后再传数据,先传个isloading会造成有缓存bug,...

  • 前端HTTP相关面试总结

    数据库缓存 CDN缓存 代理服务缓存 浏览器缓存 强缓存关键词expiresHTTP 1.0 字段到其时间,根据判...

  • 禅道BUG新增工时字段

    数据库新增字段 表明:zt_bug 语言文件 /opt/zbox/app/zentao/module/bug/la...

  • 一次Debug的遐想

    ThinkPHP3.2 + PHP5.6 + Nginx1.8 + Mac Bug描述 上传文件提示 404,找不...

  • 浏览器缓存问题

    强缓存 强缓存:会直接从浏览器里面拿数据。 控制强缓存的字段有:Expires和Cache-Control,其中c...

  • face 38 mysql数据库层的优化

    mysql数据库层的优化 穿透缓存层 优化方向 数据表数据类型优化 字段使用什么样的数据类型更合适 字段使用什么样...

  • Excel导入SQL Server字段多空格

    Excel导入SQL Server字段多空格,造成主键实际数据多个空格,造成数据无法定位通过select top ...

  • 百度小程序开发

    百度小程序 - 数据缓存碰到的bug 使用swan.getStorage、swan.getStorageSy...

  • Redis学习笔记(九)——redis缓存穿透和雪崩

    缓存穿透是在缓存中查不到,不停地想数据库查询,给持久层的数据库造成很大压力,最后出现缓存穿透 缓存击穿是查的太多了...

网友评论

      本文标题:ThinkPHP3.2数据字段缓存造成的bug

      本文链接:https://www.haomeiwen.com/subject/dbljpftx.html