浅析Hibernate二级缓存原理

二级缓存概述

1.简介

    二级缓存是一种名称的定义,指在已有缓存的基础上,再增设一种缓存,二级缓存只为一级缓存服务,它实现了让同一个sessionFactory造成的session之间数据实现共享sessionFactory,它弥补了一级缓存单词存储数据量小、生命周期短、不同Session间数据无法共享的 缺陷,二级缓存可以实现多次请求操作间的数据共享,可以有效减少访问永久介质的次数。

    hibernate本身不支持二级缓存,只是提供了二级缓存的接口,由不同的缓存供应商提供缓存,目前hibernate支持的二级缓存主要有四种:

    *ehcache

    *OpenSymphony

    *SwarmCache

    *JbossCache

2.二级缓存中对数据的要求

    1)  适合加入二级缓存的数据

        *很少被修改的数据(因为存在数据更新不及时或更新失败的问题)

        *不是很重要的数据

    2)  不适合加入二级缓存的数据

        *经常被修改的数据

        *财务数据,绝对不允许出现并发

3. 二级缓存的内部结构供程序使用的共4个部分(内部结构还有其他的部分)

二级缓存执行原理

        先将数据加载进入一级缓存,再加载进入二级缓存,再由一级缓存返回给客户端,拿数据会先找一级缓存,有则返回,没有则接着找二级缓存,找到则返回给一级缓存,由一级缓存返回给客户端,如果一级、二级缓存中都没有数据查找数据库,二级缓存不直接与客户端打交道,只跟一级缓存打交道,如果是HQL语句则直接查找数据库

总结:欢迎各位大神批评指正!

 

猜你喜欢

转载自blog.csdn.net/qq_42673900/article/details/81043029