细胞de理想

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  106 随笔 :: 1 文章 :: 4 评论 :: 11万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

这篇文章记录下如何使用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;
            }
        }
    }
}
复制代码

执行后查询数据库

 

 

 

 

 

 

 

posted on   细胞的理想  阅读(493)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示