q_182480171 2013-06-06 15:50
浏览 367
已采纳

tomcat 集群用什么缓存更好,oscache或memcache

tomcat 集群用什么缓存更好,oscache或memcache,请给出理由。
我在网上查到 多个tomcat 可以共用一个memcache,意思是只需要缓存一组数据即可

  • 写回答

4条回答 默认 最新

  • etnet 2013-06-14 16:23
    关注

    你说的OSCache是进程级缓存,说白了就是利用JVM本身的内存来保存一些对象.

    Memcache是利用别的机器的缓存,利用网络来沟通.

    个人建议是看你的应用了.
    OScache本身提供了广播和JMS等方式来进行缓存失效通知,这种方式的问题就是....

    A和B两个Tomcat,A机里的一个KEY被更新了,通知了B,B把这个KEY失效了...结果就是B不能享用到A已经做过的事...还要再从数据库或者其他地方重新读取数据放到缓存.
    如果这个操作很费资源那就不合算了.

    Memcache可以避免这个问题,但同时也产生另外的问题.由于memcache是由网络来沟通的,所以存在着序例化和反序例化还有网络IO等操作的时间.所以读取单个KEY时会比从OScache里拿要慢一些.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?