一、Ehcache
Ehcache 是设计于提高在数据从RDBMS中取出来的高花费、高延迟而采取的一种缓存方案,主要面向通用缓存,Java EE和轻量级容器,具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,支持REST等特点。
特色:
- 多种缓存策略
- 快、简单、轻量、易拓展
- 具有缓存和缓存管理器的侦听接口
- 缓存数据有两级:内存和磁盘
- 支持多缓存管理器实例,以及一个实例的多个缓存区域
- 提供Hibernate的缓存实现
- 缓存数据会在虚拟机重启的过程中写入磁盘
二、Redis
Redis是一个key-value存储系统。它支持存储多种value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。Redis将数据都是缓存在内存中。Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
特色:
- 速度快
- 持久化
- 支持多种数据类型
- 功能丰富【还支持事务、流水线、发布/订阅、消息队列等功能】
- 高可用及分布式
三、memcache
memcache 是一种高性能、分布式对象缓存系统,可以想象成一个大的内存HashTa