Ehcache
hibernate缓存,一级缓存session 事务范围的缓存。一级缓存中,持久化的每一个实例都有唯一的OID
二级缓存sessionFectory 进程范围或集成范围的缓存,并发访问策略 ,事务隔离级别
缓存应用,hibernate通过id查询对象时会先从一级缓存中查
适合存在二级缓存中的数据:
1、常量数据
2、很少被修改的数据
3、不会被并发访问的数据
一级缓存的管理:
evict( Object obj) 将指定的持久化对象从一级缓存中清除,释放对象所占的内存资源,使持久化对象转为游离对象
clear() 将一级缓存中的所有持久化对象清除,释放系统资源
contains(Object obj) 判断指定的对象是否存在于一级缓存中
flush() 刷新一级缓存区的内容,使其与数据库保持同步
二级缓存的管理:
evict(Class arg0 Serializable arg1) 将某个类指定的ID的持久化对象从二级缓存中清除
evict(Class arg0)将指定类的所有持久化对象从二级缓存中清除
evictCollecton(String arg)将指定类的所有持久化对象指定的集合从二级缓存中清除