wangqi的blog

贫,气不改;达,志不改


  • 首页

  • 关于

  • 归档

  • 搜索

guava Ordering总结

发表于 2018-12-25

学习Ordering的背景是这样的:去年我在负责搜索业务开发的时候,将所有需要搜索以及需要展示的字段通通插入到ElasticSearch的索引中保存下来。这样做的好处是当Es搜索出数据之后可以直接将数据组织起来返回给前端,不再需要进行数据库的查询,减少了数据库的压力;坏处也显而易见,当数据库中的表或者需要展示的数据有变动则需要重新进行数据的索引。综合来看这样做的弊大于利。所以现在改成Es中只索引需要搜索的数据,搜索返回后用结果的id去数据库中再进行一次查询。因为id在数据库中一般都是主键或者是有唯一索引的字段,因此这样的一次查询耗费的时间是很少的,这样避免了Es中的数据频繁的要重新索引。

这样做唯一需要注意的是:数据库查询后的数据顺序要和Es中搜索出来的数据顺序保持一致,这样才能保证相关性高的数据在前面展示。

阅读全文 »

InputStream、Reader、String的相互转换

发表于 2018-10-15

InputStream、Reader、String的相互转换是我们经常会遇到的情况,在此记录一下以备之后查阅。

阅读全文 »

Netty——NioEventLoop

发表于 2018-10-11

本篇文章我们来分析NioEventLoop的功能。

阅读全文 »

Netty——启动过程分析

发表于 2018-10-09

本篇文章我们来分析Netty服务端与客户端的启动过程。

阅读全文 »

SpringCloud知识点整理

发表于 2018-09-19

前段时间的项目是我第一次采用SpringCloud框架来开发,为此对SpringCloud的使用以及原理进行了一下学习,详见之间的SpringCloud系列的文章。温故而知新,这篇文章我们在之前文章的基础上将其核心的内容做一个整理。

阅读全文 »

API网关技术总结

发表于 2018-09-18

近段时间,我和项目组的几个小伙伴一起完成了一个API网关的项目。在完成这个项目的过程中遇到了一些曲折也收获了许多。本文将对网关中使用的技术做一个总结。

阅读全文 »

敏感词过滤

发表于 2018-09-17

去年做过一个简单的敏感词过滤的程序,最近又需要用到这个功能,复习并整理一下敏感词过滤的相关技术。

阅读全文 »

定时任务与HashedWheelTimer

发表于 2018-09-06

在Redisson分布式锁的实现一文中,我们说到Redisson会调用scheduleExpirationRenewal方法创建一个定时任务来刷新锁的过期时间,防止任务执行完毕前锁就过期释放了。在那篇文章中,我们没有详述这个定时任务的原理,本文中我们来探究一番定时任务的原理。

阅读全文 »

CompletableFuture对象的使用

发表于 2018-09-04

在Callable、Future、FutureTask原理一文中,我们介绍了Future的使用以及原理。Future虽然可以实现获取异步执行结果的需求,但是它有着显而易见的缺点:

阅读全文 »

JVM调优实践

发表于 2018-08-29

JVM调优是一个非常依赖实践的工作,本文就是在某些场景下对JVM调优方法的整理。

阅读全文 »
1…789…20

wangqi

199 日志
GitHub E-Mail
© 2025 wangqi
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4