bug描述

有一张数据库表存储的是 值日员工信息,有时候可能一次性录入1个月的数据、有时候也可能隔了很多天没有录入数据,也就是说这个录数据不是很规律。

bug现象:测试人员发现,网站上三亚地区能正常显示当天值日员工信息,但是珠海地区却不能正确显示当天值日员工信息。而数据库上实际是有珠海地区值日员工信息的。更诡异的是在本地启动网站的时候珠海和三亚地区当天值日员工信息都能正常显示。

原因是因为,代码里面用了缓存,这个缓存持续时间6小时。三亚地区人员信息是早上9点录入的,珠海是下午3点录入的。当有人查看值日信息的时候,时间恰好在9点到3点之间,这样三亚的缓存里面存了数据,而珠海的缓存里面就存了0条数据。完美的解决方法就是不用缓存,每次都去查数据库,这样做的缺点是性能有影响。恰当的做法就是,判断缓存是否存在并且缓存条数是不是为0,如果缓存不存在肯定要去读数据库,并将读到的数据存入缓存中。如果读到缓存条数为0,也要去读一下数据库,将读的结果存入缓存(当然这个有可能出现不准,但是符合我们的环境)。

最新文章

  1. 关于软件工程结对编程作业 PairProject : Elevator Scheduler(电梯调度算法的实现与测试)的总结
  2. 关于jQuery源码分析
  3. 解决myeclipse每次启动注册码过期输入注册码
  4. IOS-图片上传到服务器
  5. 布局常见问题之css实现多行文本溢出显示省略号(…)全攻略
  6. MySQL启动相关知识
  7. 如何制作gif图片
  8. C# 类型、存储和变量
  9. caffe中是如何运用protobuf构建神经网络的?
  10. PHP+XML写注册登录
  11. ABAP语言实现 左移 <<、无符号右移 >>> 位移操作
  12. Centos-6.5搭建oracle11g RAC集群
  13. vue.js开发SPA常见问题及解决方法
  14. ROS学习手记 9 -- 阶段性复习
  15. Java 内存溢出思维导图
  16. 物联网通信 - RESTDemo示例程序(Python版本)
  17. Jquery重新学习之三[属性addClass(),removeClass(),toggleClass()]
  18. __str__&__repr__
  19. CentOS7.5安装teamviwer13
  20. 【算法题12 解码方法decode way】

热门文章

  1. [Docker] Create Docker Volumes for Persistent Storage
  2. [Ramda] Complement: Logic opposite function
  3. js cookie可选参数(document.cookie='name=张三;expires='+day;)
  4. 25、写一个USB摄像头驱动程序(有ioctrl分析)
  5. P2P网络借贷系统简要解读
  6. fastjson排序 Map多层嵌套转换自动排序问题终极解决方案
  7. php面试题10(复习)
  8. [TypeScript] Create random integers in a given range
  9. Centos6.5 网络配置
  10. AJAX 相关笔记