redis缓存和mybatis的缓存有啥不一样?什么时候应该用那种?
我现在有点懵, mybatis是类似jdbc,Hibernate的连接数据库的技术; redis是不是类似oracle,mySql一样的数据库,用来存数据的???
System.out.println('iloveyou');
有没有通俗一点,解释一下这两个区别的关键点在哪里?
mybatis的二级缓存也是 kv结构 ,保存在内存中
一个访问数据库一个基本不访问数据库能一样 愁死我了
你真呆啊
比如这个案例我不用redis直接用二级缓存不行吗?
那是不是mybatis的二级缓存也是用的像redis实现的?
mybatis的缓存:分为一级缓存和二级缓存,一级缓存的作用范围为session,所以当session commit或close后,缓存就会被清空 ,二级缓存的作用范围为sqlsessionfactory,映射语句文件中的所有select语句都会被缓存,所有CRUD的操作都会刷新缓存,缓存会存储1024个对象,缓存容易造成脏毒数据,影响真实数据的准确性,实际开发业务中会放弃二级缓存。
redis的缓存:可控制的后端缓存服务,通常用来缓存后端数据,当程序第二次访问数据库的时候,命中redis,大大减少数据库的负担,减少访问数据库的链接时间,实际开发过程中都会采用这种缓存方式,达到访问速度和效率的解决方案。