今天解决了一个页面数据不经缓存的Bug

       最近同事请假了,我负责维护他的代码,下午接到测试人员的一个 Bug,Bug说页面的数据在修改后,在另一个页面下拉框中显示的是修改后的数据,不是缓存中的数据(原要求是下拉框中的数据是从缓存中取得,每天凌晨1点将缓存中的数据更新一次)。

        一开始我就以为是后台的spring quartz配置错误,因为前台后台都有spring quartz配置任务,只有后台的spring quartz中有更新缓存的任务,但是经过debug发现,后台的那个更新缓存的方法根本没有调用过(事实上,前后台缓存是独立的,互不影响),而且更新缓存的任务是在凌晨1点,不是引起缓存失效的原因。

        在经过多次测试后,无意中发现后台的日志中有一条查询数据的select 语句,而是怀疑是不是某个方法中有更新缓存的语句,而是在所有能调用该select语句的方法上面都添加了断点,重新测试发现,是因为页面在第一次载入时会查询数据库中的数据,把查询的数据放入了缓存,当数据修改后只要刷新页面,缓存中的数据也就变成了最新的数据与原来的逻辑不符。而是把加载页面时更新缓存的代码去掉,终于恢复正常了。

      记录一下这个有点2的逻辑错误,免得以后再犯。

猜你喜欢

转载自53873039oycg.iteye.com/blog/1879544
今日推荐