摘要:
翻译自http://www.entityframeworktutorial.net/,使用EF几年时间了,一直没有系统总结过,所以翻译这一系统文章作为总结,由于英语功底有限,翻译的可能有些问题,欢迎指正。 一、EntityFramewoke入门教程系列 Entity Framework入门教程(1) 阅读全文
摘要:
一、sql语句的执行顺序 查询时数据库中使用最多的操作,一条sql语句的查询顺序是 1、from Tb1 [ join on ] 得到查询的数据源 2、where 对数据过滤(单条数据上过滤) 3、group by 对数据分组 4、having 筛选分组(在组别上进行过滤) 5、select dis 阅读全文
摘要:
1.中间件的概念 ASP.NET Core的处理流程是一个管道,中间件是组装到应用程序管道中用来处理请求和响应的组件。 每个中间件可以: 选择是否将请求传递给管道中的下一个组件。 可以在调用管道中的下一个组件之前和之后执行业务逻辑。 中间件是一个请求委托( public delegate Task 阅读全文
摘要:
1 mongoDB副本集 1 副本集简介 前边我们介绍都是单机MongoDB的使用,在实际开发中很少会用单机MongoDB,因为使用单机会有数据丢失的风险,同时单台服务器无法做到高可用性(即当服务器宕机时,没有替代的服务器顶上来,我们的业务也就挂了),MongoDB中的副本集可以完美地解决上边的两个 阅读全文
摘要:
1 GridFS简介 当前Bson能存储的最大尺寸是16M,我们想把大于16M的文件存入mongoDB中怎么办呢?mongoDB提供的GridFS就是专门做这个的。使用GridFS存储大文件时,文件被分成一个个的块(默认大小是255 kb),将每一块存放在一个单独的document中。GridFS将 阅读全文
摘要:
前边我们已经使用mongo shell进行增删查改和聚合操作,这一篇简单介绍如何使用C#驱动MongoDB。C#驱动MongoDB的本质是将C#的操作代码转换为mongo shell,驱动的API也比较简单明了,方法名和js shell的方法名基本都保持一致,熟悉mongo shell后学习Mong 阅读全文
摘要:
1 mongoDB索引的管理 本节介绍mongoDB中的索引,熟悉mysql/sqlserver等关系型数据库的小伙伴应该都知道索引对优化数据查询的重要性。我们先简单了解一下索引:索引的本质就是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据(数据row或者document)的物理地址, 阅读全文
摘要:
上一节简单介绍了一下mongoDB的增删改查操作,这一节将介绍其聚合操作。我们在使用mysql、sqlserver时经常会用到一些聚合函数,如sum/avg/max/min/count等,mongoDB也提供了丰富的聚合功能,让我们可以方便地进行数据的分析和计算。这里主要介绍两种聚合方式:聚合管道和 阅读全文
摘要:
1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库。nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 mongoDB是无模式的文档数据库,在关系型数据库中,数据表的每一行都拥有一样的字段,字段 阅读全文
摘要:
RabbitMQ的集群是依赖erlang集群的,而erlang集群是通过.erlang.cookie文件进行通信认证的,所以我们使用RabbitMQ集群时只需要配置一下.erlang.cookie文件即可。下边简单演示一下RabbitMQ高可用集群的搭建,附带一个简单使用C#驱动RabbtiMQ集群 阅读全文
摘要:
本篇介绍一下RabbitMQ中的消费模式,在前边的所有栗子中我们采用的消费者都是EventingBasicConsumer,其实RabbitMQ中还有其他两种消费模式:BasicGet和QueueBaicConsumer,下边介绍RabiitMQ的消费模式,及使用它们时需要注意的一些问题。 1 Ra 阅读全文
摘要:
1 消息确认 在一些场合,如转账、付费时每一条消息都必须保证成功的被处理。AMQP是金融级的消息队列协议,有很高的可靠性,这里介绍在使用RabbitMQ时怎么保证消息被成功处理的。消息确认可以分为两种:一种是生产者发送消息到Broke时,Broker给生产者发送确认回执,用于告诉生产者消息已被成功发 阅读全文