做项目的时候,将页面的菜单放到了xml,想操作的时候先load到缓存中,再往外取,我用的是Ehcache缓存,自己写缓存的话那更麻烦,但是发现自己管理缓存还是有点麻烦的,要考虑的东西还挺多了,比如说修改xml文件以后,要重新读出来放到cache的,还要考虑cache中Element失效的时候,有没有哪位大哥做过之类的,有没有资料啥的,指点一下兄弟

解决方案 »

  1.   

    我不知道你这个 XML 是放在什么地方的,是怎么去改的?自己跑到服务器上去改这个 XML????如果需要监测被修改的话,那需要有一个监控线程每隔一定的时间去检测一下这个文件的修改时间,如果修改时间与之前的时间不致时,就重新加载。
      

  2.   

    如果没修改的话,那么缓存也没必要失效,没必要失效的话,使用个 Map 就可以了。如果有修改的话,由于是多个线程对共享缓存进行修改,因此需要进行必要的同步,由于读取远比修改来得多,因此为了达到更好的性能,建议使用读写锁进行同步处理。
      

  3.   

    恩 我大部分的数据都是用Hibernate的二级缓存操作了,只有小部分的数据,比如页面菜单我用xml来存放,自己用Ehcache来操作
      

  4.   

    ehcache不是有cachelistener么
    整个cachelistener
    就不用自己监听了
    相当方便