- 博客(26)
- 收藏
- 关注
原创 ElasticSearch搜索API(下)
五 文本搜索5.1 文本搜索简介5.1.1 文本的索引建立过程文档-词语矩阵建立完成之后,接着需要建立基于词语的倒排索引。ES会遍历文档词语矩阵中的每一个词语,然后将包含该词语的文档信息与该词语建立一种映射关系。映射关系中的词语集合叫作Term Dictionary,即“词典”。映射中的文档集合信息不仅包含文档ID,还包含词语在文档中的位置和词频信息,包含这些文档信息的结构叫作Posting List。对于一个规模很大的文档集合来说,可能包含几十万甚至上百万的词语集合,能否快速定位某个词语,直接影响搜
2022-05-28 17:08:41
456
原创 ElasticSearch搜索API(上)
Elasticsearch(后文除标题外,一律简写为ES)在搜索和数据分析场景中的卓越表现越来越引人注目,它在很多互联网应用中起着非常关键的作用。
2022-05-25 17:35:18
471
原创 面试不怂之redis与缓存大全
目录: 基础篇 高级内容 Redis设计篇 Redis原理篇 实操篇 来吧,缓存面试基础篇问题:什么是redis?答:Redis是一个基于内存的高性能key-value数据库。问题:redis可以用在哪些业务上?答:redis可以做很多事情,比如: 缓存 分布式锁 (setnx) 简易的消息队列(List/Streams) 简易订阅通知(Pub/Sub) 延时通知(键过期事件通知) .
2022-03-24 17:44:02
298
原创 Redis 原理+知识点总结
一、 Redis 简介1.1 什么是 Redis?Redis是一个完全开源、遵守BSD协议、简单、高效的、分布式的、基于内存的k-v数据库。1.2 Redis 的特点性能极高 -Redis读速度110000次/s,写的速度81000次/s。丰富的数据类型 -Redis支持的数据类型 String,Hash,List,Set及Ordered Set数据乐西操作。原子性 -Redis的所有的操作都是原子性的,意思就是要么成功,要么失败。单个操作是原子性的,多个操作也支持事务,即原子性,通过MULT
2022-03-23 15:03:04
2763
转载 优化代码中大量的if/else,你有什么方案?
前期迭代懒得优化,来一个需求,加一个if,久而久之,就串成了一座金字塔。当代码已经复杂到难以维护的程度之后,只能狠下心重构优化。那,有什么方案可以优雅的优化掉这些多余的if/else?1. 提前return这是判断条件取反的做法,代码在逻辑表达上会更清晰,看下面代码:if (condition) { // do something} else { return xxx;}其实,每次看到上面这种代码,我都心里抓痒,完全可以先判断!condition,干掉else。if (!condi
2021-03-11 18:44:06
515
转载 Java8 新特性之流式数据处理
一. 流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶数,并将其封装成为一个新的List返回,那么在java8之前,我们需要通过如下代码实现:List<Integer> evens = new ArrayList<>();for (final Integer num : nums) { if (num % 2
2020-08-12 17:28:06
185
原创 SpringBoot 简单实现文件下载
其实文件下载,不太建议用接口做,因为文件下载一般都是下载一些静态文件,我们可以先将文件处理好,然后通过Nginx 服务下载静态文件,这样速度会快很多。但是这里我们还是写一下。代码也很简单,就一个方法,也写在Controller 类中package com.chongdian.api.controller;import com.chongdian.api.core.http.ResultResponse;import org.springframework.util.ResourceUtils;im
2020-07-10 15:52:10
1097
原创 Springboot之文件上传
首先在static目录下写一个upload.html<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title> <meta name="keywords" content="keyword1,keyword2,keyword3"></meta> <meta http-equiv="Conte
2020-07-10 14:50:10
93
原创 Springboot之邮件篇
1、前言发送邮件应该是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息。正常我们会用JavaMail相关api来写发送邮件的相关代码,但现在springboot提供了一套更简易使用的封装。2、依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId>
2020-06-12 17:42:28
172
转载 CTO、技术总监、首席架构师的区别
一、高级程序员如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员。你定义功能、你做计划推进和管理,他可以带1-2个副手把你规划的功能实现了,他是主力干活者,有技术难题也是他来亲自攻克解决。所以,一个高级程序员,他的职责很清晰:1、负责核心复杂功能的实现方案设计、编码实现2、负责疑难BUG分析诊断、攻关解决二、研发Leader公司再长大些。如果你就有一个研发团队(含产品/开发/测试),你就一套主产品,而
2020-05-19 10:33:33
547
原创 关于thinkphp5模板支持include引入动态模板方法
使用thinkphp5在模板页面想动态引入不同的模板,但是不能被正常解析,看了网上的几种方法,只能去修改原始方法文件了,具体如下:{include file=”$param/head”}<include file="$template1" />修改文件thinkphp\library\think\Template.php文件下的parseInclude方法添加的...
2020-04-17 12:57:03
2372
3
原创 elasticsearch及插件安装与配置介绍
单节点安装elasticsearch是基于java开发的,所以安装之前需要先安装版本大于等于1.8的jdk下载—解压wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gztar -zxvf elasticsearch-6.6.2.tar.gz配置–支持外部访问vi c...
2020-01-15 16:53:30
185
原创 SpringBoot之RabbitMQ篇
一、基础使用1 引入依赖: pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>2 配置:application....
2020-01-04 21:58:25
115
原创 Springboot之任务篇
Springboot异步处理只要主程序中开启异步处理@EnableScheduling,具体执行使用@Scheduled注解 填写不同的表达式即可,具体demo如下:1、入口类开启异步调用package com.chongdian.api;import org.springframework.amqp.rabbit.annotation.EnableRabbit;import org.s...
2020-01-04 17:53:44
145
原创 Springboot之异步篇
Springboot异步处理只要主程序中开启异步处理@EnableAsync,并在异步处理的方法上加上@Async即可,具体demo如下:1、入口类开启异步调用package com.chongdian.api;import org.springframework.amqp.rabbit.annotation.EnableRabbit;import org.springframework...
2020-01-04 17:15:28
199
原创 RabbitMQ安装
1 准备yum installbuild-essential openssl openssl-devel unixODBC unixODBC-develmack gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz2 下载:http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1....
2020-01-01 17:19:57
127
原创 SpringBoot之kafka篇
1 引入依赖: pom.xml<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency><dependency> <groupId>o...
2019-12-31 17:35:06
211
原创 Springboot之Redis篇
1引入扩展类<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency&g...
2019-12-28 13:57:06
83
原创 Springboot之MybatisPlus篇
自定义字段处理//实例化实体类GdClassEntity gdClass = new GdClassEntity ();gdClass.setAddUserId (1);//更新int update = classMapper.update(gdClass,new UpdateWrapper<GdClassEntity>().eq ("id",10));//新增...
2019-12-28 13:56:25
194
1
原创 Springboot之http调用篇
get调用try { HashMap<String, String> params = new HashMap<>(); params.put("act", "login"); String httpEntity = HttpUtil.sendGetRequestString ("http://cd...
2019-12-28 13:56:01
459
1
转载 教你理解HTTP,TCP,UDP,Socket,WebSocket
一、这一大堆关键词之间到底有啥区别?有名字就有定义,理解的前提从来都是对定义有所了解。就好比现在让你形容一下梯形的定义,如果你不知道定义,你就可能把平行四边形当做特殊的梯形处理,也就有可能把TCP和Socket搞混,更加会纠结TCP连接与Socket连接以及HTTP的长/短连接之间到底有啥区别。其实有了区别才好理解。但在这之前首先得理清一个概念,那就是OSI七层模型,以及所谓的五层模型,四层模...
2019-12-28 13:55:13
159
原创 PHP的Socket通信之UDP篇
1.创建一简单的UDP服务器//服务器信息$server = 'udp://127.0.0.1:9998';//消息结束符号$msg_eof = "\n";$socket = stream_socket_server($server, $errno, $errstr, STREAM_SERVER_BIND);if (!$socket) { die("$errstr ($errno)"...
2019-12-28 13:54:48
333
原创 PHP的Socket通信之WebSocket篇
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手的动作,两者就形成了一条快速通道创建持久性的连接,两者之间就直接可以数据互相传送。(长连接,循环连接的不算)现在,很多网站为了实现推送...
2019-12-28 13:54:35
309
原创 Springboot之微服务调用openfeign篇
1、引用 feign 依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.1.0.RELEASE</versio...
2019-12-28 13:53:04
1705
转载 php中连接tcp服务的三种方式
首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现<?php//创建socket套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);//设置阻塞模式socket_set_block($socket);//为套接字绑定ip和端口socket_bind($socket,'127.0.0....
2019-12-27 16:45:14
456
原创 Springboot之解析HTTP参数篇
本文重点来看几种传参方式,看看它们都是如何被解析并应用到方法参数上的。一、@PathVariable获取路径参数。即url/{id}这种形式。@GetMapping(value = "/param/{id}")public Object pathVariable(@PathVariable(value = "id") Integer id) { return id;}二、@Requ...
2019-12-26 11:40:56
959
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人