zhangtao's Blog

好记性不如烂笔头

学习ES搜索引擎(二)--ES基础了解

ES是一个分布式的全文搜索引擎 我们对数据库比较熟悉,刚开始了解ES时可以跟MySQL进行对比 MySQL是关系型数据库,里面的数据是一行行数据

学习ES搜索引擎(一)--Mac安装ES和Kibana及简单实用

最近打算研究下ES和Kibana,打算先自己安装学习一下。通常我们服务器会通过log4j会把服务器日志输出到到控制台上来或者log文件中。但

ThreadLocal原理与实战

ThreadLocal我会将其解释为线程上下文变量,当我们想要在方法间传递参数,又不想很挫的将每个方法都参数列表都加上这个参数时,可以使用它

github action使用

当我们需要发布服务时,往往是怎么操作的?最古老的方法无非是本地打包,然后ssh到服务器上,上传新包,删除老包,执行脚本启动。这个过程自己操作

公司open api对接遇到的问题解决

之前在写开放平台的接口的时候,碰到了一些问题,记录一下 由于工期很赶,所以还没来得及自己测试,接口匆匆忙忙上线,当客户在用时,发现查询接口使用

用Java给女友自动提交工作内容的自动化脚本

女朋友每天早上都需要登录某工作网站提交一项内容,其实在程序员看来,这些都是可以用代码自动化解决的,于是我开始加班加点搞了起来。 整理需求 首先她

单元测试--Mockito+JUnit

最近领导开始要求写代码需要写单元测试了。于是花了点时间研究下单元测试。 一、目的 单元测试适合一些项目复杂,启动一次项目要花很大成本的项目,这样

捞取大量数据慢查询优化

双11期间这家客户积压了5w笔订单没有发货,所以客户反映每次计算都很慢,需要几十秒的时间。波次计算的代码需要把系统中审核的订单捞出来后进行计

记一次长事务问题排查思路

今天早上dba群里抛出一个问题说,有一个长事务一直在重复执行我们的一个语句。于是问题抛给我们,我们开始排查。 首先dba告知我们这句sql是重

通过数据库唯一索引实现分布式锁

伪代码 // 需要加事务 @Transactional @Override public <T> T lock(XxxLock lock, ILockCallback<T> callback) { // 数据库加锁 lock(lock); // 加锁逻辑 T result = callback.callback(); //释放锁 try { lockDao.batchDelete(locks); } catch (Exception e) { logger.error("mysq