自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Authentication plugin ‘caching_sha2_password‘ cannot be loaded

在本地登录mysql的时候报这个错误,网上搜索了一下解决方案只需要将my.ini 文件中的default_authentication_plugin属性设置成mysql_native_password即可也就是 default_authentication_plugin=mysql_native_password我尝试再安装目录下找了一下my.ini 发现不存在,这个时候就需要创建一下my.ini 文件,然后按照网上的解决方案去配置一下创建的路径是在[mysqld]# 设置.

2022-05-30 11:44:38 654

原创 net core Scoped Service inside Singleton Service 解决方案

首先,我们先分析一下为什么会出现这个问题原因:singletonService 无法直接或间接的注入Scoped Service为什么会有这种问题呢原因:singletonService 是单例的,也就是说在整个应用程序中只会存在同种类型的唯一的实例,这就意味着,一旦实例被创建,所有的注入都已经固定化,他所依赖的其他服务也就只会存在一个实例。Scoped Service 的生命周期很短,当会话结束时,实例也就被释放,所以当在singletonService 中注入Scoped Se...

2021-07-29 09:05:33 1393

原创 EF Core 单表的增删查改

基于之前的CLI或者PMC创建的模型及数据库上下文,我们来实现对数据库单表的增删查改操作,内容比较简单,简单的基础是我们已经熟悉LINQ操作以及前面文章的铺垫现在咱们直接上代码然后进行讲解using (var db=new SchoolContext()) { //我们要做的是对teacher表进行增删查改 //首先我们先新增数据 db.Add(new Teacher()

2021-07-28 16:04:47 414

原创 EF Core 基于包管理器控制台生成模型(2)

前文中我们已经详细介绍了如何用包管理器控制台对模型和数据库进行管理,现在我们做一些演示,进一步说明其中的细节首先延续之前文章中的项目工程及数据库我们采用的提供程序依然是sqlserver这一次我们一步到位直接将生成的文件放入到对应的文件夹 中 Scaffold-DbContext "Server=127.0.0.1;Database=School;Trusted_Connection=True;User id=sa; Password=*****;" Microsoft.Ent

2021-07-28 14:52:30 128

原创 EF Core 基于包管理器控制台生成模型(1)

安装工具在 Package Manager console 中运行以下命令,安装包管理器控制台工具Install-Package Microsoft.EntityFrameworkCore.Tools在 Package Manager Console 中运行以下命令,更新这些工具。Update-Package Microsoft.EntityFrameworkCore.Tools验证安装通过运行以下命令验证是否已安装这些工具:Get-Help about_EntityFra

2021-07-28 14:36:22 263

原创 EF Core CLI的具体应用-DB Frist-模型更新

在前文中,我们成功的将数据库表结构映射到我们的模型中,但是在开发阶段我们的表结构会经常发生变动,那如果表结构发生了变动,我们的模型如果没有进行更新的话,可能会出现问题。现在我们一起来看看如果表结构发生变动,我们如何将变更更新到模型首先我们有两种选择,第一种就是表结构的变动很小,这个时候我们可以手动更新模型第二种就是我们接下来要重点介绍的,如果表结构变动很大,我们通过手动更新会变得非常麻烦而且容易出现错误,所以咱们程序员怎么能做这种出力不讨好的事情了,OK,跟着我的节奏,咱们开始吧!第

2021-07-28 14:11:42 508

原创 EF Core CLI的具体应用-如何将数据库中的表生成我们想要的模型

前文中已经介绍了EF Core CLI,本篇文章继续进行实际的CLI的应用基于上篇文章中的项目继续进行演示如何将数据库中的表生成我们想要的模型第一步:创建数据库,这里我采用的是sqlserver数据库我们创建一个名为school的数据库然后添加教师表-teacher下一步我们找到我们项目工程文件夹,通过命令切换到指定的文件夹执行命令dotnet ef dbcontext scaffold "Server=127.0.0.1;Database=Scho

2021-07-28 11:15:06 339

原创 Entity Framework Core -.NET Core CLI 详细讲解

NET Core CLI 简介NET Core CLI:命令行界面工具,我们可以使用这个命令行工具去实现基于现有数据库的数据迁移,数据模型生成和应用的迁移命令是跨平台 dotnet 命令的扩展,它是 .NET Core SDK的一部分安装工具dotnet ef 可以安装为全局或本地工具dotnet tool install --global dotnet-ef使用以下命令更新工具dotnet tool update --global dotnet-ef验证安装:运行以下命

2021-07-28 10:12:53 490

原创 ES-结构化搜索

结构化数据bool类型和数字都是结构化数据文本也可以是结构化数据,比如说ID,颜色,标签等ES中的结构化搜索bool,数字,时间,这种结构化的数据都有固定的格式,我们可以对其进行精确查询,范围查询,或者判断大小文本类型的结构化数据,我们可以对其进行精确查询和部分查询term query/prefix query结构化结果只有是或者否可以根据具体的场景进行设置是否需要打分机制例POST /products/_bulk{"index":{"_id":1}}{"p

2021-07-25 13:35:54 209

原创 ES-搜索的相关性算法

相关性和相关性算法相关性相关性算分描述了一个文档和查询语句匹配的程度,es会对每个匹配查询条件的结果进行算分打分的本质是排序,将相关性高的文档排在最前面。es现在采用的是BM 25的算分机制词频-term frequency-TF检索词在一篇文档中出现的频率算法:检索词的次数除以文档的总字数度量一条查询和结果文档相关性的简单方法:简单讲搜索中的每一个词的TF进行相加TF(区块链)+TF(的)+TF(应用)stop word过滤不必要的词进行算分比如TF(的)是

2021-07-25 13:33:15 6552

原创 ES-进阶-聚合

类似于 DSL 查询表达式,聚合也有 可组合 的语法:独立单元的功能可以被混合起来提供你需要的自定义行为。这意味着只需要学习很少的基本概念,就可以得到几乎无尽的组合。要掌握聚合,你只需要明白两个主要的概念:桶(Buckets)满足特定条件的文档的集合指标(Metrics)对桶内的文档进行统计计算这就是全部了!每个聚合都是一个或者多个桶和零个或者多个指标的组合。翻译成粗略的SQL语句来解释吧:桶在概念上类似于 SQL 的分组(GROUP BY),而指标则类似于COUNT()、SUM()...

2021-07-25 13:31:23 167

原创 es-进阶-深入搜索

1.结构化搜索结构化搜索(Structured search)是指有关探询那些具有内在结构数据的过程。比如日期、时间和数字都是结构化的:它们有精确的格式,我们可以对这些格式进行逻辑操作。比较常见的操作包括比较数字或时间的范围,或判定两个值的大小。文本也可以是结构化的。如彩色笔可以有离散的颜色集合:红(red)、绿(green)、蓝(blue)。一个博客可能被标记了关键词分布式(distributed)和搜索(search)。电商网站上的商品都有 UPCs(通用产品码 Unive...

2021-07-25 13:30:37 203

原创 ES-索引别名

在前面提到的,重建索引的问题是必须更新应用中的索引名称。 索引别名就是用来解决这个问题的!索引 别名 就像一个快捷方式或软连接,可以指向一个或多个索引,也可以给任何一个需要索引名的API来使用。别名 带给我们极大的灵活性,允许我们做下面这些:在运行的集群中可以无缝的从一个索引切换到另一个索引 给多个索引分组 (例如, last_three_months)给索引的一个子集创建 视图在后面我们会讨论更多关于别名的使用。现在,我们将解释怎样使用别名在零停机下从旧索引切换到新索引。有两种方式管理别

2021-07-25 13:29:48 1661

原创 ES-迁移数据-_reindex API

从twitter索引中迁移数据到new_twitter,直接是原模原样的数据进行转移POST _reindex{ "source": { "index": "twitter" }, "dest": { "index": "new_twitter" }}根据查询结果进行迁移数据并最多不超过100个文档POST _reindex { "max_docs": 100, "source": { ...

2021-07-25 13:28:23 148

原创 ES-基础知识之四

1.索引管理创建索引到目前为止, 我们已经通过索引一篇文档创建了一个新的索引 。这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射。现在我们需要对这个建立索引的过程做更多的控制:我们想要确保这个索引有数量适中的主分片,并且在我们索引任何数据 之前 ,分析器和映射已经被建立好。为了达到这个目的,我们需要手动创建索引,在请求体里面传入设置或类型映射,如下所示:PUT /my_index{ "settings": { ... any settings ... },..

2021-07-25 13:27:38 97

原创 ES-基础知识之三

1.映射和分析GET /megacorp_employee/_mapping //获取映射a.精确值VS全文精确值如它们听起来那样精确。例如日期或者用户 ID,但字符串也可以表示精确值,例如用户名或邮箱地址。对于精确值来讲,Foo和foo是不同的,2014和2014-09-15也是不同的另一方面,全文是指文本数据(通常以人类容易识别的语言书写),例如一个推文的内容或一封邮件的内容。b.倒排索引Elasticsearch 使用一种称为 倒排索引 的结构,它适用于...

2021-07-25 13:26:52 730

原创 ES-基础知识之二

1.分布式文档存储a.路由一个文档到一个分片当中算法:shard = hash(routing) % number_of_primary_shardsrouting是一个可变值,默认是文档的_id,也可以设置成一个自定义的值。routing通过 hash 函数生成一个数字,然后这个数字再除以number_of_primary_shards(主分片的数量)后得到余数。这个分布在0到number_of_primary_shards-1之间的余数,就是我们所寻求的文档所在分片...

2021-07-25 13:25:47 402

原创 ElasticSearch -elasticsearch.yml详细配置

配置项cluster.name: elasticsearch# 配置的集群名称,默认是elasticsearch,es服务会通过广播方式自动连接在同一网段下的es服务,通过多播方式进行通信,同一网段下可以有多个集群,通过集群名称这个属性来区分不同的集群。 node.name: Franz Kafka# 当前配置所在机器的节点名,你不设置就默认随机指定一个name列表中名字,该name列表在es的jar包中config文件夹里name.txt文件中,其中有很多作者添加的有趣名字。 nod

2021-07-24 09:13:33 973

原创 ES-映射

ES-动态映射深入讲解1.动态映射控制--可以通过mapping-dynamic这个属性进行控制是否允许动态映射dynamic:true|false|stricttrue:更新mapping,可以进行文档搜索,可以进行字段搜索,可以动态映射(es中dynamic的默认值)false:可以被搜索但是没有映射,也没有更新mapping,可以进行文档搜索,但是字段搜索不可以strict:以上都是否例://创建一个索引put dynamic_mapping_test/_doc/1{

2021-07-24 09:11:00 617

原创 ES-排序及Doc Values &FieldData

排序的过程排序是针对字段原始内容进行的,倒排索引无法发挥作用需要用到正排索引,通过文档Id和字段快速得到字段原始内容ES有两种实现方法feilddata:搜索时动态创建,使用大量内存和cpu,但是索引速度快doc values(列式存储 对text无效):新增文档时创建,占用存储空间,索引速度慢,但是减少了内存的占用默认开启,可以通过mapping进行关闭,关闭后该字段不可进行排序和聚合,但是搜索速度快,占用空间小,只有明确该字段不需要进行排序和聚合的时候才可以对该字段关闭doc v

2021-07-24 09:10:01 545

原创 ES-映射-自定义analyzer

系统分析器包含三个类型的分析器character filter :在tokenizer之前进行文本处理,包括过滤特殊字符替换字符,例如html标签过滤,正则匹配过滤tokenizer:将原始文本按照一定的规则切分成词 例如,whitespace/standard/uax_url_email/keyword/pattern/path_hierarchy(文件路径)tokenizer filter:将tokenizer分好的词进行增加,删除,修改,例如:lowercase/stop/s..

2021-07-24 09:09:07 555

原创 ES-基础

1.基础接口--初步了解ES//查询文档总数curl -XGET 'http://localhost:9200/_count?pretty' -d '{ "query": { "match_all": {} }}'//新增索引+一个文档PUT /megacorp_employee/_doc/1{ "first_name" : "John", "last_name" : "Smith", "age" : 25,

2021-07-24 09:07:51 169

原创 ES-Query&Filtering与多字符串多字段查询

Query Context & Filter Content高级搜索功能:支持多项文本输入,针对多个字段进行搜索搜索引擎一般也提供价格,时间等条件的过滤ES中有两种筛选的上下文query:有算分机制filter:无算分机制,利用缓存提高性能Bool 复合查询must:必须匹配should:选择性匹配must_not:必须不匹配 不算分filter必须匹配 但不算分单字符串多字段查询例:PUT blogs/_doc/1{ "title

2021-07-24 09:06:45 1180

原创 java-log日志

1.commons logging + log4jmaven <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId>

2021-07-23 08:49:22 1033

原创 java-CountDownLatch&join&CyclicBarrier

CountDownLatch:的作用很简单,就是一个或者一组线程在开始执行操作之前,必须要等到其他线程执行完才可以。我们举一个例子来说明,在考试的时候,老师必须要等到所有人交了试卷才可以走。此时老师就相当于等待线程,而学生就好比是执行的线程。功能:同步辅助类,也可以理解为倒计时锁,用于同步线程状态,允许一个或多个线程,等待其他一组线程完成操作,再继续往下执行。 特点:不可复用!重要方法:countDown()方法:计数器-1,每次线程执行完后调用;await()方法:等待方法,在需要阻塞的地方.

2021-07-23 08:48:01 87

原创 Java并发之Condition

在使用Lock之前,我们使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以及功能特性上还是有差别的。Object和Condition接口的一些对比首先我们需要明白condition对象是依赖于lock对象的,意思就是说condition对象需要通过lock对象进行创建出来(.

2021-07-23 08:47:06 68

原创 java-concurrent-线程池

Java中的ThreadPoolExecutor类java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类 在ThreadPoolExecutor类中提供了四个构造方法public class ThreadPoolExecutor extends AbstractExecutorService { ..... public ThreadPoolExecutor(int corePoolSize,int maximumPoolSiz

2021-07-23 08:45:46 276

原创 java-maven教程

第一步 下载Maven下载地址:http://maven.apache.org/download.cgi第二步 解压Maven第三步 配置环境变量编辑path第四步 配置settings.xml配置阿里云镜像<mirror> <id>alimaven</id> <name>aliyun maven</name> <url&

2021-07-23 08:38:16 109

原创 idea集成tomcat控制台输出乱码解决

第一步:修改intellij idea配置文件:找到intellij idea安装目录,bin文件夹下面idea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别在这两个文件中添加:-Dfile.encoding=UTF-8第二步:找到intellij idea的file---settings---Editor---FileEncodings的GlobalEncoding和ProjectEncoding和Default encoding for propert..

2021-07-23 08:35:32 223 1

原创 idea 集成 tomcat

idea 集成 tomcat下载tomcat: 可以去tomcat的官网上下载: 地址为:https://tomcat.apache.org/download-80.cgi解压后配置环境变量CATALINA_BASECATALINA_HOMECLASSPATHpathidea 集成OK完成配置创建web项目后运行成功搞定若有收获,就点个赞吧...

2021-07-23 08:34:32 154

原创 java当中的锁:Lock&synchronized

java当中的锁:Lock&synchronizedLock和synchronized都可以实现同步机制,但是synchronized会自动释放锁,lock不会。如果lock不主动释放锁的话会造成死锁的情况synchronized释放锁的场景  1:占有锁的线程执行完了该代码块,然后释放对锁的占有;  2:占有锁线程执行发生异常,此时JVM会让线程自动释放锁;  3:占有锁线程进入 WAITING 状态从而释放锁,例如在该线程中调用wait()方法等。在使用synchro

2021-07-23 08:31:18 559

原创 Nlog中的File输出配置

Nlog中的File输出配置属性解释 <target xsi:type="File" name="String" layout="Layout" header="Layout" footer="Layout" encoding="Encoding" lineEnding="Enum" archiveAboveSize="Long" m

2021-07-23 08:24:44 1863

原创 netcore- Nlog研究与学习使用

第一次将学习文档进行公开,心里还是蛮忐忑的,望大家见谅,希望与大家一起学习,一起共勉和进步,多余的话咱也不说了直接上干货。workerService中使用Nlog首先workerService是什么呢,workerService是netcore新出的一款框架,本质上还是控制台程序,大家可以在vs中选择workerService框架进行创建自己的项目,workerService包含主要的3中文件,1.program,这个大家都很熟悉了,2.appsettings.json这个大家也很熟悉,如果不知道是

2021-07-23 08:23:37 1144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除