现在我有这样一个需求,我的一个JSP页面会从数据库中读取数据,然后展现,读到的就是最新的内容(数据库中每隔一段时间更新一次),现在的要求是每天固定时间展现数据,不像以前的总是读最新的数据,例如:以前数据是4点多更新,我页面展现的就是更新后最新的数据,我现在想做的就是早上8点读取4点多更新的数据,8点以前还是以前的数据(就是不到8点不会展现最新的数据),这个怎么实现?

解决方案 »

  1.   

    就是将数据放入缓存中,比如有个定时器,每天8点从数据库读取新的数据,然后更新缓存。每次页面负责从缓存中读取就行了。
    不知道你是否采用了hibernate,如果是二级缓存就能解决这个问题。
      

  2.   


    没用HIBERNATE,就是直接用的JSP读取数据库的方式
      

  3.   

    被更新的数据应该有时间戳阿
    简单的在jsp页面里添加时间 属性 ,比较一下,做个if 判断, 到时间就显示,不到时间就不显示
    其他逻辑都可以不改当然更好一点的是取数据的时候改成存储过程,也加入时间 做判断 再好一点,改表设计,将可以更新的数据放到 snapshot表,原表照旧更新数据
    jsp只从snapshot表读书据, snapshot表,可以用触发器 或者存储过程,或者view或者控制 input数据流 等多种方法实现