概要:
创新互联主营青县网站建设的网络公司,主营网站建设方案,手机APP定制开发,青县h5微信小程序定制开发搭建,青县网站营销推广欢迎青县等地区企业咨询
为了减轻数据库的压力,一般会使用数据库主从(master/slave)的方式,但是这种方式会给应用程序带来一定的麻烦,比如说,应用程序如何做到把数据写到master库,而读取数据的时候,从slave库读取。如果应用程序判断失误,把数据写入到slave库,会给系统造成致命的打击。
解决读写分离的方案很多,常用的有SQL解析、动态设置数据源。SQL解析主要是通过分析sql语句是insert/select/update /delete中的哪一种,从而对应选择主从。而动态设置数据源,则是通过拦截方法名称的方式来决定主从的,例如:save*(),insert*() 形式的方法使用master库,select()开头的,使用slave库。蛮多公司会使用在方法上标上自定义的@Master、@Slave之类的标签 来选择主从,也有公司直接就调用setxxMaster,setxxSlave之类的代码进行主从选择。
具体请看我的csdn博客:
使用Spring AOP切面解决数据库读写分离