OSCache是进程级缓存,说白了就是利用JVM自己的内存来保存一些对象. Memcache是利用别的机器的缓存,利用网络来沟通. 我的建议是看你的应用了. OScache自己提供了广播和JMS等方式来进行缓存失效通知,这种方式的问题就是.... A和B两个Tomcat,A机里的一个KEY被更新了,通知了B,B把这个KEY失效了...结果就是B不能享用到A已经作过的事...还要再从数据库或者其余地方从新读取数据放到缓存. 若是这个操做很费资源那就不合算了. Memcache能够避免这个问题,但同时也产生另外的问题.因为memcache是由网络来沟通的,因此存在着序例化和反序例化还有网络IO等操做的时间.因此读取单个KEY时会比从OScache里拿要慢一些.