ssh结构
做大批量删除,用jdbc操作,然后数据库和二级缓存不同步了,有什么办法更新二级缓存

解决方案 »

  1.   

    既然对数据有大批量的操作,那何必把它做成二级缓存。如果真需要及时更新二级缓存的话,建议在数据库设置一个标志位,
    只要缓存的数据在数据库中发生改变,就修改该标志位,你自己的
    应用开一个线程去按间隔时间扫描该标志位,发生改变,就让hibernate
    去查一遍更新一下缓存。
      

  2.   

    比如你每次批量50条,那在每50条的时候,调用 session.evict 清除缓存。
      

  3.   

     用session的flush 和 clear方法 清除在20个30个批量操作后清除一次
      

  4.   


    请问,为什么要删除一部分,在调用flush 和 clear方法呢?
      

  5.   

    用session的clear()或者evcit()方法即可