当前位置: 首页 > news >正文

上海住房与建设委员会网站app开发平台

上海住房与建设委员会网站,app开发平台,做网站 卖会员,学校网站建设配套制度更多开源项目请查看:一个专注推荐.Net开源项目的榜单 在项目开发中,如果数据量比较大,比如日志记录,我们往往会采用分表分库的方案;为了提升性能,把数据库查询与更新操作分开,这时候就要采用读写…

更多开源项目请查看:一个专注推荐.Net开源项目的榜单

在项目开发中,如果数据量比较大,比如日志记录,我们往往会采用分表分库的方案;为了提升性能,把数据库查询与更新操作分开,这时候就要采用读写分离的方案。

分表分库通常包含垂直分库、垂直分表、水平分库和水平分表方案,包括分表分库方案,实现每一个方案都需要花费一定的时间;所以,今天给大家推荐一个基于EF Code实现的分表分库、读写分离开源库,可以让我们零成本的接入。

项目简介

这是一个针对EF Code高性能、轻量级分表分库、读写分离开源项目,可以让我们方便快速接入、或者改造原有项目,几乎零成本接入。

项目特性

1、分表:时间分表、自定义分表、多表查询更新删除。

2、分库:支持自定义分库、分库查询更新删除。

3、分表分库:支持部分表格分表、部分表格分库。

4、读写分离:支持一主多从的读写分离的方案。

5、其他:支持动态分表、分库,支持高性能查询,支持事务等。

技术架构

1、跨平台:基于.NetCore开发,支持Windows、Mono、Liunx、Windows Azure。

2、支持 Standard 2.0、.NetCore 2.0+。

3、数据库:支持MySql、Oracle、SqlServer。

项目结构

图片

该项目包含不同数据库的例子,src为不同版本的源码。

快速上手

**1、表的定义
**

public class SysUserMod:IAge
{
/// <summary>
/// 用户Id用于分表
/// </summary>
public string Id { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
public int Age { get; set; }
}

2、分表规则

public class SysUserModVirtualTableRoute : AbstractSimpleShardingModKeyStringVirtualTableRoute<SysUserMod>
{//根据ID取模3,分为2张表
public SysUserModVirtualTableRoute() : base(2,3){}public override void Configure(EntityMetadataTableBuilder<SysUserMod> builder){builder.ShardingProperty(o => o.Id);}}

3、Startup配置

public void ConfigureServices(IServiceCollection services)
{......services.AddShardingDbContext<DefaultShardingDbContext>().UseRouteConfig(o =>{
//定义分表路由o.AddShardingDataSourceRoute<SysUserModVirtualDataSourceRoute>();}).UseConfig((sp,o) =>{......
//指定主从数据库o.AddDefaultDataSource("ds0",
"server=127.0.0.1;port=3306;database=db1;userid=root;password=root;");o.AddExtraDataSource(sp => new Dictionary<string, string>(){{ "ds1", "server=127.0.0.1;port=3306;database=db2;userid=root;password=root;" },{ "ds2", "server=127.0.0.1;port=3306;database=db3;userid=root;password=root;" }});o.UseShardingMigrationConfigure(b =>{b.ReplaceService<IMigrationsSqlGenerator, ShardingMySqlMigrationsSqlGenerator>();});}).ReplaceService<IModelCacheLockerProvider,DicModelCacheLockerProvider>().AddShardingCore();
}

项目地址

Github:

https://github.com/dotnetcore/sharding-core

Gitee:

https://gitee.com/xuejm/sharding-core

- End -

欢迎加入 学习小圈子 ,获取海量的编程学习资源、学习路线,和大家一起打卡、分享编程知识、共同进步。

推荐阅读

一个简单、功能完整的WMS仓库管理系统

阅读开源项目源代码的方法与心得

一个基于C#开发的Socket扩展库

基于.Net Core开发的支付SDK,简化支付功能开发

年度盘点10个最受欢迎的.Net开源项目

http://www.qdjiajiao.com/news/7888.html

相关文章:

  • 网站细节kj6699的seo综合查询
  • 阿里百川 网站开发上海百度推广优化公司
  • 网站源码偷取工具河北seo技术
  • .net和php哪个做网站好下载百度网盘app
  • 道滘网站仿做郑州百度seo网站优化
  • 能够做二维码网站百度推广合作
  • 沈阳网站设计开发如何做公司网站推广
  • 陕西省住房和城乡建设部网站湘潭seo快速排名
  • 免费平面设计模板网站公司网站建设公司
  • 无锡开发网站建设宽带营销策略
  • 网站功能插件2345浏览器网站进入
  • b2b网站想申请支付宝借口网络营销策划的目的
  • 南雄做网站网站制作软件免费下载
  • 做社区网站用什么程序好志鸿优化网
  • 做网站广告多少钱关键词搜索量怎么查
  • 深圳最好seo长安网站优化公司
  • 网站建设合同内容海淀seo搜索引擎优化公司
  • 学设计师需要学历吗seoul是韩国哪个城市
  • 外贸网站推广渠道手机app推广平台
  • 手机微网站建设方案百度推广优化中心
  • 移动网站建设的前期规划内容重庆seo俱乐部
  • 高端品牌建站活动推广宣传方案
  • 商城网站建设适合于哪类企业河南百度seo
  • 咋样做网站目前疫情最新情况
  • 部委网站建设管理职责广州seo网络优化公司
  • wordpress广告加速搜索引擎优化指南
  • 信息资源建设情况 政府网站百度权重10的网站
  • 做网站的法律网络推广公司如何做
  • 建设一个平台网站需要多少钱谷歌全球营销
  • 建网站要什么北京最新消息今天