概念 软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。 意义 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。 分类 根据目…

2019年12月13日 0条评论 373点热度 0人点赞 阅读全文

创建索引 创建一个名为my_index的索引 PUT localhost:9200/my_index 创建映射 PUT localhost:9200/my_index/my_type/_mapping { "properties": { "name": { "type": "text" } } } 添加一个文档 PUT localhost:9200/my_index/my_type/2 { "name": "李锋镝" } 查询: GET localhost:9200/my_index/my_type/2 { "_i…

2019年12月11日 0条评论 633点热度 0人点赞 阅读全文

路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中。Elasticsearch如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片1还是分片2中呢? 首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公式决定的: shard = hash(routing) % number_of_primary_shards routing是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值。 rout…

2019年12月04日 0条评论 439点热度 0人点赞 阅读全文

主从复制 redis主从复制特点: 一个master可以有多个slave 一个slave只能有一个master 数据流是单向的,从master到slave 配置主从 实现方式有两种: 命令方式 配置文件方式 命令方式 在从服务器上执行以下命令即可: slaveof 主服务器的IP 端口号 slaveof命令是异步的,不阻塞。 从服务器现有的数据会先被清空,然后再从主服务器同步数据 停止一台从服务器的复制操作,在此台从服务器上执行以下命令: slaveof no one 配置文件方式 只需要修改从服务器的配置 修改配…

2019年11月22日 0条评论 426点热度 0人点赞 阅读全文

修改max_result_window参数即可。 Elasticsearch API: PUT 127.0.0.1:9200/{indexType}/_settings 参数: { "index": { "max_result_window": 100000 } } max_result_window视具体情况决定大小。

2019年11月20日 0条评论 734点热度 0人点赞 阅读全文

分布式技术 1 反向代理方面,nginx的基本配置,比如如何通过lua语言设置规则,如何设置session粘滞。如果可以,再看些nginx的底层,比如协议,集群设置,失效转移等。 2 远程调用dubbo方面,可以看下dubbo和zookeeper整合的知识点,再深一步,了解下dubbo底层的传输协议和序列化方式。 3 消息队列方面,可以看下kafka或任意一种组件的使用方式,简单点可以看下配置,工作组的设置,再深入点,可以看下Kafka集群,持久化的方式,以及发送消息是用长连接还是短拦截。 以上仅仅是用3个组件举例…

2019年11月18日 0条评论 358点热度 0人点赞 阅读全文

常用的 match_all查询 match_all查询简单的匹配所有文档。在没有指定查询方式时,它是默认的查询: { "match_all": {}} match查询 无论你在任何字段上进行的是全文搜索还是精确查询,match查询是你可用的标准查询。 如果你在一个全文字段上使用match查询,在执行查询前,它将用正确的分析器去分析查询字符串: { "match": { "tweet": "About Search" }} 如果在一个精确值的字段上使用它,例如数字、日期、布尔或者一个not_analyzed字符串字段…

2019年11月05日 0条评论 457点热度 0人点赞 阅读全文

tail 用于输出文件中的尾部内容,实际应用如下: // 显示文件倒数2行数据,并实时刷新新日志 tail -2f demo.log // 执行效果如下: line9 56 line0 78 // 如果你需要停止,按Ctrl+C退出 // 假如查看的日志,实时刷新的日志量非常多的话,慎用! head 跟tail是相反的,tail是看后多少行日志;例子如下: // 查询日志文件中的头10行日志; head -n 10 test.log //查询日志文件除了最后10行的其他所有日志; head -n -10 test.…

2019年11月04日 0条评论 859点热度 0人点赞 阅读全文

构建Dockerfile mkdir static_web cd static_web touch Dockerfile 然后 vi Dockerfile 开始编辑该文件 输入 i 开始编辑 以下是我们构建的Dockerfile内容 FROM nginx MAINTAINER LiFengdi <lifengdi@lifengdi.com> RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.ht…

2019年10月31日 0条评论 638点热度 0人点赞 阅读全文

简介 EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 官网地址:https://alibaba-easyexcel.github.io/index.html github地址:https://github.com/alibaba/easyexcel 64M内存1分钟内读取75M(46W行25列)的Excel 当然还有急速模式能更快,但是内存占用会在100M多一点 快速开始 maven依赖 <dependency> <…

2019年10月25日 0条评论 4558点热度 0人点赞 阅读全文
123459