2 weihubeats

尚未进行身份认证

我要认证

冰冻三尺非一日之寒

等级
TA的排名 7k+

Elasticsearch 解决 TooManyClause

背景大致有个需求是需要通过一批id去es查询相关数据,条件类似 SQL的 where id in (),由于ES bool ES默认设置一个查询语句最多1024个子句,最大为 1024,主要是为了内存和性能解决推荐使用: 使用 terms filter 替代 terms query ,由于我们这次查询是紧张查询,不会涉及到分数相关,所以使用filter,相应的效率也会有所提高原来的代码public interface DscStandardProductQuery extends

2020-09-21 15:03:58

spring data elasticsearch 打印查询语句

在使用 spring data elasticsearch 操作 elasticsearch 查询语句默认是不显示的,我们 在开发调试阶段想要像Mybatis那样打印SQL该如何做呢?说明: 我这里的springboot版本 是 2.1.6.RELEASE elasticsearch 版本为 6.8配置比较简单logging.level.org.springframework.data.elasticsearch.core=DEBUG效果如下:如果这种配置方式没有生效可以尝试其他配置如

2020-09-15 15:02:20

Springboot整合 openfeign(基于最新Hoxton.SR8)

文章目录项目整体结构依赖openfeign的一些配置order-service-apiorder-servicepay-service测试源码下载项目整体结构说明:所有公共依赖都放在了父pom中,API接口抽离放在单独模块依赖<properties> <java.version>1.8</java.version> <spring-cloud.version>Hoxton.SR8</spring-cloud.version

2020-09-13 11:15:24

MySQL规范

文章目录目的适用范围规范命名例子表范式约束字段索引/主键设计分库分表读写分离其他目的为了规范数据库设计,减少设计失误,提高数据安全及性能,特制订本规范适用范围所有mysql数据库。原则上,数据库设计应遵循本规范说明,特殊情况可例外,但需跟DBA说明原因。规范命名库名、表名、字段名必须使用小写字母,并采用下划线分割MySQL有配置参数lower_case_table_names,不可动态更改,linux系统默认为0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏

2020-09-12 18:21:05

Linux 从零搭建RocketMQ及进行可视化的监控和管理

文章目录说明搭建测试 RocketMQ构建RocketMQ监控说明由于我的服务器内存很小,所以搭建暂时不使用 dledger构建集群搭建本次搭建仅搭建一个NameServer和一个Broker官方搭建文档我这里按我的步骤来及一些坑分享给搭建,这里是以源码方式构建,也可以直接下载二进制包进行构建配置Java 环境变量构建 DLedgergit clone https://github.com/openmessaging/openmessaging-storage-dledger.gi

2020-09-05 18:58:22

Springboot 整合MybatisPlus 多数据源

文章目录目前暂时使用的实现方式环境搭建数据库脚本准备项目大致结构依赖配置文件配置类MybatisPlusConfigDynamicDataSourceDbContextHolderDataSourceSwitchAspect测试目前暂时使用的实现方式基于 AbstractRoutingDataSource扩展,加AOP动态切换数据源环境搭建数据库脚本准备demo 测试使用 两个 库 db0 db1create database db0;create database db1;use db0

2020-08-22 10:18:07

JAVA8 List<List<Integer>> list中再装一个list转成一个list

List<Integer> collect = IntStream.range(1, 10).boxed().collect(Collectors.toList()); List<Integer> collect1 = IntStream.range(10, 20).boxed().collect(Collectors.toList()); List<List<Integer>> lists = new ArrayList..

2020-08-21 15:59:32

记一次idea SQL日志打印过多卡死问题

文章目录问题尝试解决方式最终元凶解决方式问题idea 之前一直用的好好的,版本为2019.3版本,最近本地要做一些数据任务测试,会涉及大量查询,写入SQL,然后每次跑这个任务都跑一半就卡住,卡死半天,idea没反应,特别苦恼尝试解决方式idea 参数优化大致无非就是调大 idea JVM参数配置文件是 idea.exe.vmoptions, 64位操作系统是 idea64.exe.vmoptions不知道可以两个都调大,设置后发现还是卡顿升级idea版本觉得可能是idea版本

2020-08-21 14:12:26

Java设计模式之建造者模式

为什么需要建造者模式其实从定义来说建造者模式,似乎并不太好描述,但是如果从实际需求来解释会相对很容易,建造模式主要用于对象的创建。一般创建一些简单的对象我们直接使用 new 就可以了,但是实际开发中一些对象的创建是否真的 只用 new就可以解决呢?案例我们来看看在复杂的业务中对象的创建。假设我们现在要创建一个学生类,但是要通过另一个学生类去获取相关属性,并且会对相关属性做限制,比如年龄不能小于0不用建造者模式大致可能是这样的public class Student{private Str

2020-08-16 13:44:56

ElasticSearch批量查询JavaApi实现

ElasticSearch 版本 6.8背景Elasticsearch 允许通过一次查询请求执行多个文档的检索,虽然 Elasticsearch 内部还是一条一条去检索,但是这样可以避免多次请求造成的单独网络开销,相对于一个一个的检索,这样的效率更高。之前项目处理是一条一条去检索,后来改造为批处理后,单处理差不多优化了10s的效率左右,测试数据量大概在2w左右java实现es官方文档相比单处理,我们批处理肯定是要先获取 单个 SearchRequest, 然后再装入一个请求中类似list中,.

2020-08-10 16:02:28

Java设计模式之责任链模式

定义相对官方解释:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止个人理解: 实际就是当我有些需求比如对字符串作敏感词过滤,如果当前字符串瞒住某个敏感词或者某个处理逻辑,就不再继续执行下去,否则继续执行下去。当人责任链的变种也特别常用,就是类似一个字符串的处理逻辑,瞒住了一也会继续走下去。实现这里使用一种相对简单好理解的实现方法IHandler首先抽象出一个处理抽象接口,所有处理器都

2020-08-08 15:05:05

华为、阿里员工跳槽至微软受抵制,被要求停止无意义加班

昨天看到的新闻,今天分享给大家一群从华为和阿里巴巴跳槽到微软的员工,近日遭到了微软的内部抵制。这是微软苏州某团队的一次自发行为。据他们表示,由于华为和阿里来的员工时常“比赛加班”,甚至“半夜在工作群互发消息”,给团队带来了国内互联网企业的加班文化,破坏规则,恶性竞争。他们因此在工作之余开发了Hackathon项目,可以每晚检测部门内部人员晚上还在加班并提出警告。此番争执,正是国内互联网企业被诟病已久的“996”(每日9时上班,晚上9时下班,一周工作6天)文化与以外企为代表的“工作生活平衡”文化的一次显

2020-08-04 09:11:25

Springboot 项目启动另起线程

背景有时候我们需要在项目启动创建一个线程去定时处理一些数据之类的,当然也可以用类似xxl-job的定时任务来处理,这里我们使用项目启动的同时开启一个线程的方式实现@Component@Slf4jpublic class ClearThread implements DisposableBean,Runnable { private Thread thread; private volatile boolean someCondition = true; privat

2020-08-03 17:19:24

15.三数之和

题目给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]题解暴力破解三层循环,不能包含重复三元组,使用Set,对原数组进行排序时间复杂度 O(n^3)public static

2020-08-02 22:26:14

20. 有效的括号

题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例输入: "()"输出: true输入: "()[]{}"输出: true输入: "(]"输出: false题解很明显符合栈的先入后出特点,我们遇到( 括号,即可把相应的右括号推入栈中,然后遇到右括号直接出栈就好了,最后判断栈是否为空即可j

2020-07-30 21:17:06

11. 盛最多水的容器

题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49题解

2020-07-28 21:55:25

283. 移动零

题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解:刚开始没看题想到最简单的就是暴力求解,用一个新数组,如果远数组为0则从数组末尾倒着放,如果不为0则从数组0开始正着放,这种解法用到了新数组,不符合题一,但还是给出思路这里比如原数组是 [0,1,0,3,12]新数组为空第一次循环: [0]

2020-07-27 21:30:26

Springboot基于AOP 注解打印方法耗时

版本springboot 版本 2.1.6.RELEASE实现自定义注解TimeConsumeLog/** * @author : wh * @date : 2020/7/24 10:44 * 记录方法执行时间注解 * 自己调用自己请使用 通过暴露代理类方式调用 * ((ClearServiceImpl)AopContext.currentProxy()).testAOP1(); */@Documented@Target(ElementType.METHOD)@Rete

2020-07-27 18:20:41

Springboot 集成 Sharding-Jdbc

背景一般来说数据库单表超过2000W性能就会急剧下降,我们就需要做相应的处理,分库分表,或者使用分布式数据库,而企业中较为常见的是分库分表。分库分表目前主流的框架有两种,一种是MyCat,另一种是 ShardingSphere,就目前两种框架的整体功能来看应该是差不多,都是仅支持基本SQL92语法,复杂特殊的语法一般不支持。而Mycat是以中间件的方式给你做SQL聚合,需要搭建一个MyCat中间件,同时也要保证Mycat的高可用,如果MyCat一单挂掉,整个系统就挂了,使用MyCat变相增加了系统的复杂

2020-07-19 18:15:30

ElasticsearchTemplate 替换为 ElasticsearchRestTemplate(Transport Client 替换为 RestHighLevelClient )

前言在Elasticsearch 8.0的版本中也将完全移除TransportClient,其次有些es有些账号不能通过 9300端口连接所以项目中打算由RestHighLevelClient 替换掉 Transport Client版本这里给一张springboot官方的版本推荐这里我的springboot版本为 2.1.6.RELEASE Elasticsearch 版本为 6.8.2升级需要的maven依赖:<dependency> <groupId>

2020-07-07 12:51:06

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。