二级缓存是什么意思
二级缓存就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储
那些CPU处理时需要用到、一级缓存又无法存储的数据。同样道理,三级缓存和内存可以看作是二级缓
存的缓冲器,它们的容量递增,但单位制造成本却递减。需要注意的是,无论是二级缓存、三级缓存还
是内存都不能存储处理器操作的原始指令,这些指令只能存储在CPU的一级指令缓存中,而余下的二级
缓存、三级缓存和内存仅用于存储CPU所需数据。
一级缓存和二级缓存的区别:
主要的不同是它们的作用范围不同。
一级缓存是session级别的。
也就是只有在同一个session里缓存才起作用,当这个session关闭后这个缓存就不存在了。
而二级缓存是sessionFactory级别的。
其缓存对同一个sessionFactory生产出来的session都有效,二级缓存我们通常使用其他的一些开源组
件,比如hibernate经常使用的就是ECache,这个缓存在整个应用服务器中都会有效的。
首先要明白缓存是干什么的,缓存就是要将一些经常使用的数据缓存到内存或者各种储存介质中,当
再次使用时可以不用去数据库中查询,减少与数据库的交互,提高性能。
再说明一级与二级缓存的作用:一级缓存是Session级别的,也就是说在一个事务中才会启作用。比如
在一个事务中同时查询同一个对象,则不会两次去数据库中查询。
而二级缓存是sessionFactory级别的,不同的事务之间是可以共享的,有些权限,当用户首次登陆后
便将关联的权限放到二级缓存中,这样每次需要权限时就无需再查询数据库了。
最后再说明为什么这样设计:一般情况下,我们查询的数据一般是实时的,使用二级缓存肯定不行,
使用一级缓存既利用了缓存又不会影响实时。
使用二级缓存是为了存储一些比较稳定的数据,如权限,只有在用户修改了权限且重新登录时才能生效
cpu中的一级缓存和二级缓存和三级缓存。