![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 62
跟心爱的人浪迹天涯
Java小学生
展开
-
Elasticsearch基础知识笔记
Elasticsearch是一种基于Lucene开发的高性能,可扩展的分布式搜索引擎。与常用数据库索引不同,采用倒序索引(全文索引)方式实现,将内容信息进行分词拆装成关键字,然后对每个关键字建立索引。广泛应用在搜索,电商及各类资源型网站中。ES提供了Restful API及java开发接口,隐藏了原有Lucene的复杂性。实现了近乎实时的搜索功能,延迟控制在秒级内,可以使用集群方式达到大数据量的快速检索。类似数据库,ES也有与库、表及字段相对应的存储结构,分别为index,type,document。原创 2021-04-25 00:04:17 · 408 阅读 · 2 评论 -
记一次开发BUG Sharding读写分离事务下使用select for update导致死锁
死锁场景select for update 为悲观锁,只有当前会话才能过去到锁,其他事务访问加锁数据会被阻塞。代码如下@Transactionalpublic void test() {userService.selectByIdForUpdate(1L);userService.increaseAmountById(1L, 10);}使用Sharding JDBC读写分离时,导致死锁。死锁原因使用Sharding JDBC后,当前事务第一个写之前的所有读操作都会优先读取从库,而事务内第原创 2021-03-30 21:45:43 · 1176 阅读 · 0 评论 -
自己手写一个starter完成方法异步调用 非代理方式 线程池
SpringBoot架构下, 默认开启了自动配置, 在启动后会自动扫描包下的/META-INF/spring.factories文件, 自动加载文件中配置的类.async-spring-boot-starterpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSche原创 2021-02-04 20:14:35 · 189 阅读 · 1 评论