这篇文章记录下如何使用SqlSugar实现数据库的读写分离,增删改只操作主库,通过数据库的分发和订阅功能完成主库数据自动往从库同步。
下面代码实现了配置主库和从库的数据库链接,同时往主库新增一条记录。
using SqlSugar; using SqlSugarStart.DbModels; using System; using System.Collections.Generic; namespace SqlSugarStart { /// <summary> /// 主从复制 /// 一个主库 负责数据的增删改 SqlSugarTest /// 三个从库 负责数据的查询 SqlSugarTest_001、SqlSugarTest_002、SqlSugarTest_003 /// </summary> public static class ZCFZ { public static void show() { try { SqlSugarClient sqlSugarClient = new SqlSugarClient(new ConnectionConfig { DbType = DbType.SqlServer,//要连接的数据库类型 ConnectionString = "server=.;uid=sa;pwd=123456;database=SqlSugarTest",//sqlsqver数据库链接字符串 (主库) IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute, //从库 SlaveConnectionConfigs = new List<SlaveConnectionConfig>() { new SlaveConnectionConfig() { HitRate=10,ConnectionString="server=.;uid=sa;pwd=123456;database=SqlSugarTest_001" }, new SlaveConnectionConfig() { HitRate=10,ConnectionString="server=.;uid=sa;pwd=123456;database=SqlSugarTest_002" }, new SlaveConnectionConfig() { HitRate=10,ConnectionString="server=.;uid=sa;pwd=123456;database=SqlSugarTest_003" } } }); //新增一条记录,往主库插入记录 sqlSugarClient.Insertable<Commodity>(new Commodity() { ProductId = 1, CategoryId = 1, Title = "测试数据库读写分离", Price = 1, Url = "测试数据库读写分离", ImageUrl = "测试数据库读写分离" }).ExecuteCommand(); } catch (Exception) { throw; } } } }
执行后查询数据库
在通往幸福道路上,并没有什么捷径可走,唯有付出努力和拼搏
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构