摘要: image.png 为什么 Elasticsearch/Lucene 检索可以比 mysql 快 Mysql 只有 term dictionary 这一层,是以 b-tree 排序的方式存储在磁盘上的。检索一个 term 需要若干次的 random access 的磁盘操作。而 Lucene 在 t 阅读全文
posted @ 2022-02-23 22:08 hanease 阅读(1824) 评论(0) 推荐(1) 编辑
摘要: Redis实现的分布式锁 # 对资源key加锁,key不存在时创建,并且设置,10秒自动过期 SET key value EX 10 NX # 删除key DEL key NX的作用 NX参数是为了保证当分布式锁不存在时,只有一个client能写入次key成功,获取到锁。 分布式锁的第一核心要素就是 阅读全文
posted @ 2022-02-23 22:03 hanease 阅读(2335) 评论(0) 推荐(0) 编辑
摘要: 上一篇Spring Boot我们简单讲了如何快速创建一个SpringBoot项目。大家都知道SpringBoot非常强大,可以轻松与各种工具集成,但是我们知其然,也必须知其所以然。今天开始就和大家一起学习一下SpringBoot核心,核心由于过于重要,需要分成好几章,今天我们先来看看基本配置。 入口 阅读全文
posted @ 2022-02-23 14:25 hanease 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 开发一个电商项目,因为数据量一直在增加(已达亿级),所以需要重构之前开发好的秒杀功能,为了更好的支持高并发,在验证用户是否重复购买的环节,就考虑用布隆过滤器。 也顺便更加深入的去了解下布隆过滤器的原理,感觉还是蛮有意思的,这一连串的公式不静下心来思考,很容易被绕晕。 一、概述 1、什么是布隆过滤器 阅读全文
posted @ 2022-02-23 13:53 hanease 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1、首先看一下下面两个sql语句的区别: <select id="selectByNameAndPassword" parameterType="java.util.Map" resultMap="BaseResultMap"> select id, username, password, role 阅读全文
posted @ 2022-02-23 13:47 hanease 阅读(50127) 评论(0) 推荐(1) 编辑