ehcache/varnish/memcache/redis的优缺点
1. Ehcache在java项目中应用非常广泛, 主要面向通用缓存,J2EE和轻量级容器。一级缓存在内存,二级缓存在磁盘。优点:1.直接在jvm虚拟机中缓存,速度快,效率高;2.小巧,使用简单;缺点:缓存共享麻烦,不易维护;集群分布式应用不方便。应用场景:单个应用或者对缓存访问要求很高的应用。2. Varnish高性能、开源的反向代理服务器和内存缓存服务器。
1. Ehcache
在java项目中应用非常广泛, 主要面向通用缓存,J2EE和轻量级容器。一级缓存在内存,二级缓存在磁盘。
优点:
1. 直接在jvm虚拟机中缓存,速度快,效率高;
2. 小巧,使用简单;
缺点:
缓存共享麻烦,不易维护;集群分布式应用不方便。
应用场景:
单个应用或者对缓存访问要求很高的应用。
2. Varnish
高性能、开源的反向代理服务器和内存缓存服务器。
优点:
1. 高性能;
2. 多核支持;
3. 支持0-60秒的精确缓存时间。
缺点:
1. 不具备自动容错和恢复功能,重启后数据丢失;
2. 在线扩容比较难。
3. 32位机器上缓存文件大小为最大2GB;
4. 不支持集群。
应用场景:
并发要求不是很大的小型系统和应用。
3. Memcache
一个高性能的分布式内存对象缓存系统。通过key-value形式缓存。
优点:
1. 高性能;
2. 多线程支持,安装简单;
3. 部分容灾;
4. 均衡请求。
缺点:
1. 不能持久化存储;
2. 存储数据有限;
3. 集群数据没有复制和同步机制;
4. 内存回收不能及时。
应用场景:
大型系统,缓存共享、分布式部署和集群应用。
4. Redis
基于内存的键-值存储数据库。
优点:
1. 高性能;
2. 丰富的数据类型;
3. 支持持久化;
4. 支持主从复制。
缺点:
1. 不具备自动容错和恢复功能;
2. 在线扩容比较难;
3.不支持多核多线程处理。
应用场景:
大型系统,缓存共享、分布式部署和集群应用。
参考文献:
http://blog.csdn.net/msdnwoo/article/details/51577389
http://blog.csdn.net/jationxiaozi/article/details/8509732
http://m15623779417.blog.163.com/blog/static/238695050201511210219157/
更多推荐
所有评论(0)