01 2021 档案
摘要:Shell Shell :可以理解为后台运行的程序(命令解释器),作用是用来解析你输入的命令,搜索环境变量,找到命令文件,运行命令文件。 Shell 是一个命令解释器,它在操作系统最外层,负责与用户对话。shell保存在/etc/shells目录中 Shell 既是一种脚本编程语言,也是一个连接内核
阅读全文
摘要:CAP集成到项目 添加Package 数据库使用Sqlserver,消息队列使用RabbitMQ <PackageReference Include="DotNetCore.CAP" Version="3.1.2" /> <PackageReference Include="DotNetCore.C
阅读全文
摘要:简介 NuGet包Microsoft.AspNetCore.Diagnostics中提供了几个与异常处理相关的中间件。当ASP.NET Core应用在处理请求过程中出现错误时,中间件捕获异常,并将错误信息返回给客户端。 需要注意的是,与“异常处理”有关的中间件,一定要尽早添加,这样,它可以最大限度的
阅读全文
摘要:public interface IServiceLocator { object GetService(Type type); } public class ServiceLocator : IServiceLocator { private readonly ILifetimeScope _li
阅读全文
摘要:简介 对象池化技术可以显著地提升性能,尤其是当对象的初始化过程代价较大或者频率较高。 它是一种基于使用预先分配资源集合的性能优化思想,简单说对象池就是对象的容器,当一个对象被激活时,便被从池中取出,当对象被停用时,它又被放回池中。 在一些对性能比较敏感的应用中,我们可以通过对象复用的方式避免垃圾对象
阅读全文
摘要:简介 .net core中有两种读取配置的方式: 通过注入IConfiguration读取配置 通过强类型的Options,通过注入来获取到配置对象。 Options类的命名规则:{Object}Options 建议使用强类型的Options,这样在你想获取某个配置时,只需要注入对应的Options
阅读全文
摘要:简介 简单说,就是将对象的创建和销毁工作交给DI容器来进行,调用方只需要接收注入的对象实例即可。 涉及到的nuget包: Microsoft.Extensions.DependencyInjection.Abstractions:抽象定义; Microsoft.Extensions.Dependen
阅读全文
摘要:简介 微软官方的开源项目eShopOnContainers中,用到了一个实现中介者模式的类库:MediatR。 他是一个低调的类库,致力于解决一个简单的问题:解耦进程内消息的发送与处理。 中介者模式的定义为:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互应用,从而使其耦合松散,
阅读全文
摘要:简介 CAP 是一个EventBus,同时也是一个在微服务或者SOA系统中解决分布式事务问题的一个框架。它有助于创建可扩展,可靠并且易于更改的微服务系统。 分布式事务是在分布式系统中不可避免的一个硬性需求,CAP 没有采用两阶段提交(2PC)这种事务机制,而是采用的 本地消息表+MQ 这种经典的实现
阅读全文
摘要:# 概述 聚合查询,它是在搜索的结果上,提供的一些聚合数据信息的方法。比如:求和、最大值、平均数等。 #### 基本语法 ``` GET /_search { "aggs": { "": { // 聚合名称需要自己定义 "": { "field": "" } } } } ``` aggs_name:
阅读全文
摘要:文本分析器(Text analysis) 在ES当中,只有text类型的字段才会用到全文索引。 我们在建立索引和搜索时,都会用的分析器。 分析器使ES支持全文索引,搜索的结果是和你搜索的内容相关的,而不是你搜索内容的确切匹配。 分析器之所以能够使搜索支持全文索引,都是因为有分词器(tokenizat
阅读全文
摘要:简介 查询有两种方式: QueryString查询 通过query参数传递查询语句(?q=name:zhangsan) DSL查询 通过DSL语句查询,可以写出灵活复杂的查询语句,语言以json请求体的形式出现 查询响应信息说明 { "took" : 346, // 整个检索消耗的时间, 单位是毫秒
阅读全文