commit和flushCache

commit和flushCache

commit和flushCache都是对二级缓存区域的清除

之前说客户端发送的增删改操作都会被记录到事务日志,然后客户端发起commit命令后才会把数据写入数据库

然后flushCache是在执行insert( delete和update是不是也可以? )之后立即清除二级缓存。

那么这样说是不是flushCache在数据操作被记录到事务日志前或者同时的时候清除二级缓存,然后到commit的时候就只会体现提交数据更改操作和清除空的二级缓存?

在代码中的流程是不是在SqlSession对象调用insert(update、delete)方法时执行SQL语句然后将SQL语句所体现的具体的数据操作保存到事务日志,然后到调用commit方法时,把数据操作提交到数据库然后数据库自己对数据进行修改?

rollback的一般也是在调用insert(update、delete)方法时出错才会被调用是吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2020-08-29 11:47:37

1,flushCache是在执行 delete和update之后也可以清除二级缓存。

2,是的,flushCache=true的意思是执行完sql后就清除缓存, 不需要等到commit时再清除缓存

3,同学的理解是正确的

4,是的,rollback是回滚的意思,事务在执行的时候,如果执行到某行代码时发生错误,那么之前执行的操作都要被取消

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师