自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Redis进阶 一篇怼完

Redis 过期的策略      可能有时候你会遇到一个场景,在 Redis 中大量的 key 明明已经过期了,结果发现 Redis 的占用还是很高?如果要明白为什么,那就要知道Redis 的过期策略。策略分为 2 种,定期删除与惰性删除。 定期删除     假设在 Redis 中存在 10w 个设置了过期的 key,如果此时 Redis 每隔指定毫秒每隔都扫描一遍看下有没有过期,那这个时候 Redis 基本就废了,CPU 负载

2020-06-30 22:51:56 549

原创 AQS 源码(ReentrantLock、ReentrantReadWriteLock 为例)

AQS 源码(ReentrantLock、ReentrantReadWriteLock 为例) 前言       AQS(Abstract Queued Synchronizer) 是 Java 里面并发篇的一个重要的抽象类,像 ReentrantLock、ReentrantReadWriteLock 以及很多并发包中的都依赖于这个抽闲类,可见这个类有多种重要。吃透这个类,并发这块会有更深的理解。这里以 ReentrantLock、ReentrantRead

2020-06-20 23:08:41 249

原创 9. mysql 锁详解

前言 了解锁前需要明白数据库事务,附上一篇内容比好的文章地址:https://www.cnblogs.com/jay-huaxiao/p/12639435.html InnoDB行锁是通过给索引加锁来实现的,如果没有索引,InnoDB会通过隐藏的聚簇索引来对记录进行加锁(全表扫描,也就是表锁)。 但是,为了效率考量,MySQL做了优化,对于不满足条件的记录,会放锁,最终持有的,是满足条件的记录上的锁。但是不满足条件的记录上的加锁/放锁动作是不会省略的。所以在没有索引时,不满足条件的数据行会有加锁又放锁的耗时

2020-06-13 10:00:36 159

原创 8. 慢SQL分析篇

慢查询日志 认识慢查询 mysql 的慢查询是 mysql 提供的一种日志记录,他用来记录 mysql 在执行时长超过设置的阀值的语句。而这个超时时长是可配置的,默认的超时时长是 10s,然后写到日志中。再结合 explain 进行分析 sql。 默认情况下,mysql 数据库没有开启慢查询日志,需要手动来设置这个参数。如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。 临时开启 show variables like '%slow_query_log%'; 使

2020-06-13 09:35:15 292

原创 7. 索引优化注意事项2 - 详解

本篇通过复合索引为主,在排序和分组时候分析会不会走索引与为什么索引就失效了来展开。 测试sql CREATE TABLE test03 ( id INT PRIMARY KEY AUTO_INCREMENT, c1 CHAR(10), c2 CHAR(10), c3 CHAR(10), c4 CHAR(10), c5 CHAR(10) ); INSERT INTO test03 ( c1, c2, c3, c4, c5 ) VALUES ( 'a1', 'a2', 'a3', 'a4', '

2020-06-13 09:20:33 92

原创 6. 索引优化注意事项1 - 详解

示例表 CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名', age INT NOT NULL DEFAULT 0 COMMENT '年龄', pos VARCHAR(20) NOT NULL DEFAULT '' COMMENT '职位', add_time TIMESTAMP NOT NULL DEFAULT CURRENT_T

2020-06-13 09:07:35 142

原创 5. 执行计划 - 表连接优化示例

CREATE TABLE articie ( id INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, author_id INT(10) NOT NULL, category_id INT(10) NOT NULL, views INT(10) NOT NULL, comments INT(10) NOT NULL, title VARCHAR(255) NOT NULL, content TEXT NOT NULL ); INSERT INTO art

2020-06-13 08:50:22 143

原创 4. 执行计划 explain 详解

说明 使用 Explain 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的,分析你的查询语句或者表结构的性能瓶颈 查看执行计划 -- 在 sql 前增加 EXPLAIN 关键字就可以查看执行计划 EXPLAIN SELECT * FROM test 执行计划存在以下列: id:执行优先级,数字越大,越先执行 select_type:查询类型,比如普通、联合、子查询 table:这行统计信息是哪张张表的 type:访问类型的排列 possible_key

2020-06-12 22:55:58 407

原创 3. 索引简介 与 优化分析

索引简介 存储数据之外,数据库还维护了一个满足特定查找的数据结构,这些数据结构以某种方式指向数据,以某种算法去查询这个数据结构,目的就是提高查询效率。 一般我们平常所说的索引,如果可以特别指明,都是指B树结构组织的索引。而索引又分类为:次要索引、覆盖索引、复合索引、前缀索引、唯一索引。 索引优势: 可以搞数据的检索效率,降低数据库的 IO 成本 索引劣势: 实际上索引也是维护了一张表,该表保存了主键与索引字段,并指向实体表的记录。所以索引列也是要占用空间的。 在 insert、update、delet

2020-06-12 22:33:57 183

原创 2. SQL加载顺序 与 七种联表

这里写目录标题SQL 性能加载顺序七种联表顺序 SQL 性能加载顺序 mysql 解析 sql 顺序如下: from <left table> on <on_condition> <join_type> join <join_table> where <where_condition> group by <group_by_list> <sum()avg()等聚合函数> having <having_condition

2020-06-12 22:26:45 150

原创 5. SpringSecurity用户认证源码 与 实现短信验证码(自定义SpringSecurity组件)

前言源码讲解源码分析AbstractAuthenticationProcessingFilter.javaUsernamePasswordAuthenticationFilter.javaProviderManagerAbstractUserDetailsAuthenticationProvider.javaDaoAuthenticationProviderAbstractAuthenticationProcessingFilter.javaAbstractRememberMeServices.javaPe

2020-05-13 17:53:00 333

原创 16. Zuul 源码讲解

切入点 在我准备从日志中找切入点准备从哪跟时候,发现当接到一个请求到结束时候,并没有打印一行日志。然后考虑到有和 Hystrix 整合,那就干脆让它超时报错,从堆栈信息中定位切入点,最终定位到:ZuulService 中 service() 方法中。 流程分析 前提:首先在 zuul 服务中将 hystrix 超时时间设置久点,不然会影响调试 histrix: command: de......

2020-05-03 10:42:42 182

原创 8. 如何从0到认识Eureka源码

前言 本篇主要分享如何从0开始读源码,我之前在读源码时候常会面临:枯燥、烧脑、非常的耗时、没有好的切入、感觉操蛋,然后…就再也没然后了。 但是有些痛苦该来的还是要来的,在面临一些实际问题时,百度也已经救不了,你又会怎么做?因为一个bug换掉解决方案?这显然就是扯蛋,这种情况我之前遇到了,而且还不止一次,所以我不得去跟源码,看看里面到底发生了什么。 痛苦的同时你也在成长,在几次的这种情况下,我总结出......

2020-04-11 22:47:48 328 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除