转载: https://www.cnblogs.com/qlqwjy/p/7788912.html 感谢原作者
稍有改动
应用场景:
ehcache直接在本地缓存(jvm虚拟机中缓存),速度快,效率高;但是缓存共享麻烦,分布式应用不方便。
redis是通过socket访问到缓存服务,效率比ehcache低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案。
总结来说:
1. 对于大型系统,存在分布式部署, 优先考虑使用分布式redis。
2. 如果是单个应用或者对缓存访问要求很高的应用,考虑用ehcache。 需要设计缓存更新的方案(例如通过配置中心的形式)
补充下:ehcache也有缓存共享方案,不过是通过RMI或者Jgroup多播方式进行广播缓存通知更新,缓存共享复杂,维护不方便;简单的共享可以,但是涉及到缓存恢复,大数据缓存,则不合适
redis和memcached相比的独特之处:
1、redis可以用来做存储(storage),而memcached是用来做缓存(cache)
这个特点主要因为其有持久化功能
2、redis中存储的数据有多种结构,而memcached存储的数据只有一种类型“字符串”