mybatis有必要用redis作缓存么
网上看到redis与mybatis的集成方案,既然mybatis提供了自己的两级缓存,为什么还要用redis去接管mybatis的缓存呢?一般redis是怎么去做数据库的...
网上看到redis与mybatis的集成方案,既然mybatis提供了自己的两级缓存,为什么还要用
redis去接管mybatis的缓存呢?
一般redis是怎么去做数据库的缓存的,我的理解是,全部手写代码,在SELECT操作的时候都要检查redis是否已经有要用的数据,如果没有再使用数据库,可是mybatis已经提供了自己的缓存机制,为什么还要用redis呢?
如果有必须要用redis的理由,是否有现成的缓存某张表或试图的插件或者库?还是都得亲自写代码,在需要缓存的时候自己掌管缓存?容易出问题吧这样。 展开
redis去接管mybatis的缓存呢?
一般redis是怎么去做数据库的缓存的,我的理解是,全部手写代码,在SELECT操作的时候都要检查redis是否已经有要用的数据,如果没有再使用数据库,可是mybatis已经提供了自己的缓存机制,为什么还要用redis呢?
如果有必须要用redis的理由,是否有现成的缓存某张表或试图的插件或者库?还是都得亲自写代码,在需要缓存的时候自己掌管缓存?容易出问题吧这样。 展开
1个回答
2016-09-17
展开全部
通常为了减轻数据库的压力,我们会引入缓存。在Dao查询数据库之前,先去缓存中找是否有要找的数据,如果有则用缓存中的数据即可,就不用查询数
据库了。如果没有才去数据库中查找。这样就能分担一下数据库的压力。另外,为了让缓存中的数据与数据库同步,我们应该在该数据发生变化的地方加入更新缓存
的逻辑代码。这样无形之中增加了工作量,同时也是一种对原有代码的入侵。这对于有着代码洁癖的程序员来说,无疑是一种伤害。
MyBatis框架早就考虑到了这些问题,因此MyBatis提供了自定义的二级缓存概念,方便引入我们自己的缓存机制,而不用更改原有的业务逻辑。
据库了。如果没有才去数据库中查找。这样就能分担一下数据库的压力。另外,为了让缓存中的数据与数据库同步,我们应该在该数据发生变化的地方加入更新缓存
的逻辑代码。这样无形之中增加了工作量,同时也是一种对原有代码的入侵。这对于有着代码洁癖的程序员来说,无疑是一种伤害。
MyBatis框架早就考虑到了这些问题,因此MyBatis提供了自定义的二级缓存概念,方便引入我们自己的缓存机制,而不用更改原有的业务逻辑。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询