Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。
EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力;当用Hibernate的方式修改表数据(save,update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。
先进先出
最少被使用,缓存的元素有一个hit属性,hit值最小的将会被清出缓存。
最近最少使用,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。
缓存管理器,可以通过单例或者多例的方式创建,也是Ehcache的入口类。
每个CacheManager可以管理多个Cache,每个Cache可以采用hash的方式管理多个Element
用于存放真正缓存内容的
ehcache.xml配置文件
使用ehcache作为mybatis的缓存
第一步:导入mybatis-ehcache包坐标
第二步:配置ehcache
第三步:mybatis的mapper.xml中使用ehcache二级缓存
至此,mybatis的二级缓存已经配置成功。
寄语
mybatis的二级缓存很少人用,一般我们使用缓存的时候,都尽量在代码上层(越接近请求的地方)去做缓存。