Java缓存和Mybatis缓存
每一次的笔记都是当初面试官给我的打击......
所谓缓存,即每次读取数据先去缓存中读,没有再去数据库里找,以此来提高性能与效率
Java缓存
一级缓存
栈:一级缓存,用完即释放
二级缓存
堆:二级缓存,垃圾回收算法进行回收
三级缓存
三级缓存:
1.内存缓存(LRUCache最近最少引用算法)
2.本地缓存(File存储)
3.网络缓存(网络下载获取)
Mybatis缓存
一级缓存
存入SQLSession.若两次查询中发生了CRUD操作,则要清空SQLSession(以此保证数据一致性)
二级缓存
mapper.第一次调用mapper去查存入,第一次调用namespace下的mapper去查.