hibernate 缓存
一级缓存:session级别的缓存,内置。必须使用的。
二级缓存:sessionFactory级别的缓存,外置,需要第三方实现
默认list不支持二级缓存。
【 list只存不取】
list 查询数据库获取数据,将数据存放到二级缓存中,然后返回到list
下次还是查询数据库,(而不是从二级缓存中获取数据)
获得数据后,将查出来的数据存放到二级缓存中,返回list。
list这一个过程,简直就是“只求付出,不求回报”的党员啊。。。
list使用二级缓存,反而使性能降低。
【 get既存又取】
查二级缓存,二级缓存中有数据则将数据返回,若没有数据,再去查数据库。并将查到的数据存放到二级缓存中。
很多应用中通过list将数据查询出来放到二级缓存中,在通过get获取详细子数据。