自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 微服务并行计算框架asyncTool使用说明

一、为什么要使用并行计算框架1 复杂的微服务系统间调用经常会有这样的调用场景:app(或web前端)调用后台的一个接口,该接口接到该请求后,需要调用其他多个微服务来获取数据,最终汇总一个最终结果返回给用户。譬如用户请求“我的订单”,后台在收到请求后,就需要去调用用户详情rpc、商品详情rpc、库存rpc、优惠券rpc等等很多个服务。有些服务是可以并行去请求的,但有些服务是依赖于某个服务的返回值的(如查库存、优惠券,就依赖于商品详情回复到达后才能去请求)。2 工作流式的任务编排譬如在数据清洗领域,经

2021-04-26 19:30:30 2819 2

原创 window10下mysql导入大文 件sql语句

cmd执行: mysql -u root -p登录后,可以分两步走:第一步选用数据库: use databasename;第二步执行sql: source sql_file_name.sql;重点来了,window下目录是反斜杠‘\’,直接写路径妥妥的出现Unknown command error;为什么呢?\是转义字符啊。对此mySql官方给出的建议是将目录中的\替换为/。也就是将D:\myself\sql*.sql 写为: D:/myself/sql/*.sql。..

2021-02-08 16:12:07 161

原创 Redis开发规范看这篇就够用了

一、键值设计1. 1 key名定义规则【建议】: 可读性和可管理性与不可重复性以业务名(或数据库名或微服务名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名(或子业务名称):idorder:sku:1001举例:上面定义是定单业务下面的sku的id作为缓存key【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mid}【强制】

2021-02-08 14:21:17 382

原创 Springboot工程打包报错:repackage failed: Unable to find main class -> [Help 1]

Springboot聚合工程打包报错如下:[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 2.470 s[INFO] Finished at: 2020-03-31T20:14:28+08:00[INF...

2020-03-31 20:22:00 353

原创 Activti工作流整合Springboot+Shiro权限管理项目实战教程

Activti工作流第一章 工作流介绍第一章示例代码见工程:code/act01Activiti是一个项目的名称,Alfresco软件在2010年5月17日宣布Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理BPM的专家 Tom Baeyens担任。Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的B...

2020-03-30 11:24:12 2436 2

原创 Elasticsearch教程---聚合(十四)

聚合分析是数据库中重要的功能特性,完成对一个查询的数据集中数据的聚合计算,如:找出某字段(或计算表达式的结果)的最大值、最小值,计算和、平均值等。ES作为搜索引擎兼数据库,同样提供了强大的聚合分析能力。8.1 cardinality去重计数其作用是对选择字段先执行类似sql中的distinct操作,去掉集合中的重复项,然后统计排重后的集合长度。总共有多少不同的值 相当于SQL中的 sele...

2020-03-20 10:44:43 458

原创 Elasticsearch教程---地理信息搜索(十三)

随着生活服务类应用最近一年的崛起和普及,基于地理位置的内容正在日益重要。LBS已是老生常谈,不过在PC、在移动互联网时代,LBS在导航之外都未出现第二个杀手级应用。在没有O2O之前,LBS所依重的POI(Point of Interest)并未真正成为用户的“Interest”,人们的兴趣还是只存在于网络的虚拟内容,游戏、新闻、文学、网页、多媒体,等等。O2O大热之后,越来越多的杀手级应用开始出...

2020-03-20 10:37:12 949

原创 Elasticsearch教程---高亮搜索(十二)

6.1 高亮介绍许多应用都倾向于在每个搜索结果中 高亮 显示搜索的关键词,比如字体的加粗,改变字体的颜色等.以便让用户知道为何该文档符合查询条件。在 Elasticsearch 中检索出高亮片段也很容易。高亮显示需要一个字段的实际内容。 如果该字段没有被存储(映射mapping没有将存储设置为 true),则加载实际的_source,并从_source中提取相关的字段。以百度搜索“java”...

2020-03-20 10:28:49 1061 1

原创 Elasticsearch教程---过滤查询结果 (十一)

4.1 filter与query对比filter,仅仅只是按照搜索条件过滤出需要的数据而已,不计算任何相关度分数,对相关度没有任何影响;query,会去计算每个document相对于搜索条件的相关度,并按照相关度进行排序;一般来说,如果你是在进行搜索,需要将最匹配搜索条件的数据先返回,那么用query;如果你只是要根据一些条件筛选出一部分数据,不关注其排序,那么用filter;除非是你的这...

2020-03-20 10:15:28 392

原创 Elasticsearch教程---排序(十一)

默认情况下,结果集会按照相关性进行排序 – 相关性越高,排名越靠前。 这一章我们会讲述相关性是什么以及它是如何计算的。 在此之前,我们先看一下sort参数的使用方法。为了使结果可以按照相关性进行排序,我们需要一个相关性的值。在ElasticSearch的查询结果中, 相关性分值会用_score字段来给出一个浮点型的数值,所以默认情况下,结果集以_score进行倒序排列。JAVA代码示例:co...

2020-03-20 10:13:35 140

原创 Elasticsearch教程---复合查询bool与booling (十)

3.1 bool查询bool (布尔)过滤器。 这是个 复合过滤器(compound filter) ,它可以接受多个其他过滤器作为参数,并将这些过滤器结合成各式各样的布尔(逻辑)组合。格式一个 bool 过滤器由三部分组成:{ "bool" : { "must" : [], "should" : [], "must_not" : []...

2020-03-19 21:53:46 319

原创 Elasticsearch教程---delete-by-query (九)

删除查询的文档,由于每个文档都需要单独被删除,查询大量文档可能需要很长的时间。注意:不要使用delete-by-query来删除一个索引下的全部或者大部分文档,确实需要的话,可以创建一个新的索引,然后将需要保留的文档重新索引到新的索引中去,这样你就可以直接删掉旧索引。JAVA代码示例:com.javablog.elasticsearch.query.impl.DocServiceImpl...

2020-03-19 21:48:32 857

原创 Elasticsearch教程---基本查询(八)

10.1 term & terms查询10.1.1 termterm是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个。比如说我们要查找省份(province)中为“湖北省”的所有文档,JSON如下:{ "from": 0, "size": 5, "query": { "term": { "province": ...

2020-03-19 21:23:55 408

原创 Elasticsearch教程---Document APIs(七)

9.1 新建文档当我们索引一个文档, 怎么确认我们正在创建一个完全新的文档,而不是覆盖现有的呢?请记住, _index 、 _type 和 _id 的组合可以唯一标识一个文档。所以,确保创建一个新文档的最简单办法是,使用索引请求的 POST 形式让 Elasticsearch 自动生成唯一 _idJAVA代码示例1(_id自动生成):com.javablog.elasticsearch.d...

2020-03-19 21:12:43 398

原创 Elasticsearch教程---High Level REST Client创建索引(六)

第八章 索引api8.1 代码示例设置分片API:private void buildSetting(CreateIndexRequest request) { request.settings(Settings.builder().put("index.number_of_shards", 3) .put("index.number_of_replicas"...

2020-03-16 21:24:13 8300

原创 Elasticsearch教程---Springboot2.x中使用High Level REST Client配置(五)

第七章 Springboot2.x中使用High Level REST Client注意:以后章节的讲课都通过API操作与kibana查看操作结果的方式来演示。Elasticsearch 会在7.0之后的版本废弃TransportClient,在8.0之后的版本移除TransportClient (文档)。因此,使用RestClient来进行相关的操作。We plan on depreca...

2020-03-16 20:44:00 736

原创 Elasticsearch教程---Elasticsearch索引的创建(四)

第六章 索引的创建6.1 语法Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求创建索引的请求格式:请求方式:PUT请求路径:/索引库名请求参数:json格式:{ "settings": { "number_of_shards": 3, "number_of_repl...

2020-03-16 16:09:30 398

原创 Elasticsearch教程----Elasticsearch安装与布署(三)

第五章 Elasticsearch介绍和安装5.1 简介5.1.1 ElasticElastic官网:https://www.elastic.co/cn/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jv3c8Hwg-1584342573894)(mdpic/1528546351055.png)]Elastic有一条完整的产品线及解决方案:Elastics...

2020-03-16 15:23:35 269

原创 Elasticsearch教程---Elasticsearch简介与基本概念(二)

第三章 ElasticSearch简介3.1 ElasticSearch vs Lucene的关系ElasticSearch vs Lucene的关系,简单一句话就是,成品与半成品的关系。(1)Lucene专注于搜索底层的建设,而ElasticSearch专注于企业应用。(2)Luncene是单节点的API,ElasticSearch是分布式的。(3)Luncene需要二次开发,才能使用...

2020-03-16 14:55:37 275

原创 Elasticsearch教程---Lucene简介(一)

第一章 概述Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据, 它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的,它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,可以说Lucene是当今最先进...

2020-03-16 14:35:04 755

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis的开发规范 (十)

10.1、键值设计1、key名设计可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idugc:video:1简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mid}。不要包含特殊字符反例:包含空格...

2020-03-14 21:54:02 1132

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis分布式锁(九)

9.1 分布式锁随着互联网的兴起,现代软件发生了翻天覆地的变化,以前单机的程序,已经支撑不了现代的业务。无论是在抗压,还是在高可用等方面都需要多台计算机协同工作来解决问题。现代的互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但为此,我们就需要多解决一个分布式环境下,数据一致性的问题。当某个资源在多系统之间共享的时候,为了保证大家访问这个资源数据是一致的,那么就必须要求在同...

2020-03-14 21:50:23 2716

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis 发布订阅 (八)

8.1 应用场景一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有。​ 发布者订阅者模式:发布者生产消息放到队列里,多个监听队列的消费者都会收到同一份消息...

2020-03-14 21:47:10 1441

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis数据类型之有序集合(sorted set) (七)

1、 Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。2、不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。3、有序集合的成员是唯一的,但分数(score)却可以重复。4、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295...

2020-03-14 21:43:10 430

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis数据类型之Set集合 (六)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。6.1 应用场景1.利用唯一性,可以存取当天的活跃用户列表、可以统计访问网站的所有独立 IP。2.利用集合操作,以非常方便的实现如共同关注、共同喜好、二度好友等功能。对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存储到一个新的集合中。可以取不同兴趣圈子的交集...

2020-03-14 21:38:43 436

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis数据类型之列表(List) (五)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素) ,类似JAVA中的LinkedList5.1 应用场景1、对数据量大的集合数据删减列表数据显示、关注列表、粉丝列表、留言评价等…分页、热点新闻(Top5)等利用LRANGE还可以很方便的...

2020-03-14 21:32:17 659

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis数据类型哈希(Hash) (四)

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿),可以看成具有KEY和VALUE的MAP容器,该类型非常适合于存储值对象的信息,如:uname,upass,age等。该类型的数据仅占用很少的磁盘空间(相比于JSON)。4.1 应用场景保存纪录中的详细信息。比...

2020-03-14 21:26:26 855

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis数据类型之String类型 (三)

string是redis最基本的类型,一个key对应一个value。string类型是Redis最基本的数据类型,一个键最大能存储512MB。3.1 应用场景String通常用于保存单个字符串或JSON字符串数据,常用的场景有:统计网站访问数量、当前在线人数、微博数、粉丝数等,全局递增ID等 。3.2 代码示例代码:com.javablog.redis.demo.service.imp...

2020-03-14 20:28:36 327

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---RedisTemplate与StringRedisTemplate的区别 (二)

区别:1.两者数据各自存,各自取,数据不互通。RedisTemplate不能取StringRedisTemplate存入的数据。StringRedisTemplate不能取RedisTemplate存入的数据 2.序列化策略不同。RedisTemplate采用JDK的序列化策略StringRedisTemplate采用String的序列化策略分析:RedisTemplate:...

2020-03-14 20:21:32 504

原创 基于Spring Boot2.x使用Redis(Lettuce)详细教程---Redis使用环境配置 (一)

1.1 maven配置新建SpringBoot2.0.3的WEB工程,在MAVEN的pom.xml文件中加入如下依赖pom文件:<dependencies> <!--默认是lettuce客户端--> <dependency> <groupId>org.springframework.boot&...

2020-03-14 19:55:41 1729

原创 切换GitHub账号时,push仍用的原来的账号的解决办法

问题描述:有两个GitHub账号,其中一个仓库想要推到新的远程账户上去。使用了git config进行了新的账号和邮箱配置,也添加了新的ssh。但是当使用git push时候显示无权限,因为仍使用的是旧账号。解决办法:应该不是最佳,但确实有效的方法。第一步:打开任据管理器以win10环境为例,打开控制面板,选择任据管理器,如下图所示:第二步:删除凭据选择Windows任据展开对...

2020-02-20 14:59:59 1544 2

原创 Solr 与 Elasticsearch 的对比与选型

一、Elasticsearch特性1.1 安装管理方便Elasticsearch没有其他依赖,下载后安装非常方便;只用修改几个参数就可以搭建起来一个集群。1.2 大规模分布式Elasticsearch允许你开始小规模使用,但是随着你使用数据的增长,它可以建立在横向扩展的开箱即用。当你需要更多的容量,只需添加更多的节点,并让集群重组,只需要增加额外的硬件,让集群自动利用额外的硬件。可以在...

2020-02-16 15:00:11 2512

原创 常用的redis客户端Jedis 、Lettuce 、Redisson 介绍以及对比

Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.htmlredisson 官网地址:https://redisson.org/redisson git项目地址:https://github.com/redisson/redissonlettuce 官网地址:https://l...

2020-02-16 08:42:48 6305

原创 当下流行NOSQL的选型

MongoDB、ElasitcSearch、Redis、HBase是现今最火的四款NoSQL数据库产品。在实际的开发中,这四种数据库有什么区别?我到底该选哪个?想必这是很多互联网开发都遇到过的难题。下面就给大家总结下这四种数据库产品的特点和应用场景,希望能够帮助你更深刻的理解这四种数据库的特点,好帮助你作出正确的数据库选择。一、RedisRedis的优点:读写性能优异;支持数据持久化,支...

2020-02-15 18:04:06 543

原创 Slf4j与Logback的使用教程以及在Spring Boot下的应用

第一章 slf4j & log4j & logback的区别1.1 slf4j1.1.1 slf4j概念SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志System.实际...

2020-02-10 11:41:05 1239

nacos-server-1.1.4.tar.gz

nacos-1.1.4,nacos要在github下载,但是github下载太慢了,下载资源包含:nacos-server-1.1.4.tar.gz、nacos-server-1.1.4.zip

2020-02-17

空空如也

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

TA关注的人

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