FreeSql (三十)读写分离

FreeSql 支持数据库读写分离,本功能是客户端的读写分离行为,数据库服务器该怎么配置仍然那样配置,不受本功能影响,为了方便描术后面讲到的【读写分离】都是指客户端的功能支持。

各种数据库的读写方案不一,数据库端开启读写分离功能后,读写分离的实现大致分为以下几种:

1、nginx代理,配置繁琐且容易出错;

2、中件间,如MyCat;

3、在client端支持;

FreeSql 实现了第3种方案,支持一个【主库】多个【从库】,【从库】的查询策略为随机方式。

若某【从库】发生故障,将切换到其他可用【从库】,若已全部不可用则使用【主库】查询。

出现故障【从库】被隔离起来间隔性的检查可用状态,以待恢复。

var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10";IFreeSql fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, connstr).UseSlave("connectionString1", "connectionString2") //使用从数据库,支持多个.Build();select.Where(a => a.Id == 1).ToOne(); //读【从库】(默认)
select.Master().WhereId(a => a.Id == 1).ToOne(); //强制读【主库】

系列文章导航

  • (一)入门

  • (二)自动迁移实体

  • (三)实体特性

  • (四)实体特性 Fluent Api

  • (五)插入数据

  • (六)批量插入数据

  • (七)插入数据时忽略列

  • (八)插入数据时指定列

  • (九)删除数据

  • (十)更新数据

  • (十一)更新数据 Where

  • (十二)更新数据时指定列

  • (十三)更新数据时忽略列

  • (十四)批量更新数据

  • (十五)查询数据

  • (十六)分页查询

  • (十七)联表查询

  • (十八)导航属性

  • (十九)多表查询

  • (二十)多表查询 WhereCascade

  • (二十一)查询返回数据

  • (二十二)Dto 映射查询

  • (二十三)分组、聚合

  • (二十四)Linq To Sql 语法使用介绍

  • (二十五)延时加载

  • (二十六)贪婪加载 Include、IncludeMany、Dto、ToList

  • (二十七)将已写好的 SQL 语句,与实体类映射进行二次查询

  • (二十八)事务

  • (二十九)Lambda 表达式

  • (三十)读写分离

  • (三十一)分区分表

  • (三十二)Aop

  • (三十三)CodeFirst 类型映射

  • (三十四)CodeFirst 迁移说明

  • (三十五)CodeFirst 自定义特性

转载于:https://www.cnblogs.com/FreeSql/p/11531430.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

把 excel 表中的数据 批量修改到指定数据库表中、根据 excel 表中数据修改数据库表中数据

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 收到一张 excel 表,要求根据 “转账时间”一列的值批量修改数据库表中 "放款时间"一列的值。 2. 写出 sql 模…

科​目​三​智​能​考​试​系​统​实​际​道​路​考​试​项​目​评​判​标​准

科目三智能考试系统是将公安部实际道路考试项目评判标准加以量化,重点考学员的驾驶技能、安全意识及文明驾车的理念,并将其融入 各个考试项目之中。 二考试技术指标 1、上车准备 考试开始后,学员应当根据考试员发出的“上车准备”指令后…

FreeSql (三十一)分区分表

分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中。把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,数据库不同实现方式有所不同。 与分表不同,一张大表进行分区后,他…

FreeSql (三十二)Aop

FreeSql AOP 已有的功能介绍,未来为会根据用户需求不断增强。 审计 CRUD 马云说过,996是修福报。对于多数程序员来说,加班是好事。。。起码不是闲人,不会下岗。 当如果因为某个 sql 骚操作耗时很高,没有一个相关的审计…

SpringMvc 注解 @InitBinder 表单多对象精准绑定接收

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 InitBinder用于在Controller中标注于方法,表示为当前控制器注册一个属性编辑器或者其他,只对当前的Controller有…

2014年科目三智能化考试十大必知事项

一、模拟夜考灯光使用 1,夜间通过急转弯/坡道/拱桥/人行横道/或没有交通信号灯控制的路口; 灯光使用:交替使用远近光(变光2次以上) 2,夜间在窄路窄桥与非机动车会车 灯光使用:近光灯 3,夜间在道路上发生故障…

SpringMVC注解 @initbinder 解决类型转换问题

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 使用 SpringMVC 时,常遇到表单中日期字符串和 JavaBean 的 Date 类型的转换,而 SpringMVC 默认不支持这个格式的…

看了就彻底明白人生!!!

出生一张纸,开始一辈子; 毕业一张纸,奋斗一辈子; 婚姻一张纸,折磨一辈子; 做官一张纸,斗争一辈子; 金钱一张纸,辛苦一辈子; 荣誉一张纸,虚名一辈子…

FreeSql (三十三)CodeFirst 类型映射

前面有介绍过几篇 CodeFirst 内容文章,有 《(二)自动迁移实体》(https://www.cnblogs.com/FreeSql/p/11531301.html)《(三)实体特性》(https://www.cnblogs.com/FreeSql/p/11531302.html)《(四)…

FreeSql (三十四)CodeFirst 迁移说明

FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能。 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也是缺点,优点是充分利用数据库特性辅助开发,缺点…

曾国藩家训:三个地方看一个家庭的兴败

第一看:看子孙睡到几点,假如睡到太阳都已经升得很高的时候才起来,那代表这个家族会慢慢懈怠下来;第二看:看子孙有没有做家务,因为勤劳、劳动的习惯影响一个人一辈子;第三看:看后代子孙有没有在读圣贤的经典…

Linux 查看文件指定行数 内容

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1、tail date.log 输出文件末尾的内容,默认10行 tail -20 date.log 输出最后20行的内容 tail -n -20…

FreeSql (三十五)CodeFirst 自定义特性

比如项目内已经使用了其它 orm,如 efcore,这样意味着实体中可能存在 [Key],但它与 FreeSql [Column(IsPrimary true] 不同。 Q: FreeSql 实体特性为啥这么别扭? A: 为了考虑一致性用法,全部封装…

相随心转,枯荣立现

宋朝时,有高孝标和高孝积两个双胞胎兄弟,举止言谈和才思颖悟都象同一人。十六岁时,他们一齐考上秀才。婚后,父母为使媳妇能辨认丈夫,命令他们穿着不同衣裳和鞋子,以便辨认。有一天,他们遇到陈希…

查看 linux 硬件信息:内存、分区、系统、环境变量、防火墙、路由、端口监听、进程、CPU...

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、linux CPU大小; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg…

成功人士高效率的工作法

现在的人总是忙个不停,尤其企业家或高阶主管大多身兼数职,为了达成工作目标,不得不经常加班。加上现在社交媒体和各种电子产品的诱惑让时间更加不够用了。每天察看邮件并即时回覆并不代表工作效率。如何排除干扰、克服惰性和避免超时工作才是…

R语言 线性回归分析实例

y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元),某国生产总值GDP(亿元),财政支出(亿元)和商品零售价格指数(%). (1) 建立线性模型: ① 自己编写函数: > library(openxlsx) > data read.xlsx("22_data.xlsx",shee…

maven 工程 pom.xml 中 relativePath 的作用

Maven parent.relativePath 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 默认值为../pom.xml 查找顺序:relativePath元素中的地址–本地仓库–远程仓库 设定一个空值将…

【Cef编译】 CefSharp编译失败,检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”...

编译CefSharp生成后一个libcef_dll_wrapper.lib时,供CefSharp使用。结果CefSharp编译的时候报错。遇到以下异常:libcef_dll_wrapper.lib(binary_value_ctocpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值…

做老板欣赏的优秀员工 十大准则你达标吗?

在一个企业里,什么样的员工才是优秀的员工?优秀的员工拥有的怎样的特质?同在一个公司工作,同样的学历与相仿的年龄,为什么有的人总是业绩更好、工资更高、待遇更优秀、更能够获得老板的信任?这是目前许多企…