GaryLee's Blog
场景题 2023.08.20
如何实现一个扫码登录功能?
一、什么是扫码登录?扫码登录指的是通过已经登录的APP应用,取扫描未登录的Web端程序中的二维码,通过某种机制触发登录凭证的写入从而实现Web端自动登录的过程 二、扫描登录的流程扫码登录的流程主要有以下几步: Web端打开登录页面,请求服
2023-08-20
文章 2023.08.19
如何处理Redis的大key问题?
一、什么是大key?Redis的大key指的是存储了大量数据的key,一般是因为元素过多导致的(如set、zset等),也有可能是因为value比较大(如string) 二、大key会带来什么问题?大key可能会存在以下几个问题: 占用内
2023-08-19 GaryLee
MySQL 2023.08.19
如何排查慢SQL问题?
一、如何发现慢SQL问题?慢SQL指的是数据库中查询时间超过指定阈值的SQL,比如阈值设置为1s,那么说明如果一条SQL执行时间超过1s,则认为这是一条慢SQL 通常在实际开发中,如果有成熟的监控体系的话,那么会自动把慢SQL统计出来,并通
2023-08-19
MySQL 2023.08.19
如何进行SQL调优?
一、为什么需要进行SQL调优?错误的使用SQL,可能会带来慢SQL查询等,影响查询性能 二、分析原因 索引失效 多表join 数据量太大 查询数据太多 表结构不合理 … 三、SQL优化方案 索引失效:可以通过执行计划分析是否走了索引,以及
2023-08-19
MySQL 2023.08.18
MySQL执行计划分析
一、执行计划字段介绍+----+-------------+-------+------------+-------+---------------+----------+---------+------+------+----------
2023-08-18
MySQL 2023.08.17
什么是回表,怎么减少回表的次数?
一、什么是回表?不了解什么是聚簇索引和非聚簇索引的小伙伴可以先看下《什么是聚簇索引和非聚簇索引?》 什么是回表呢?当我们要查询数据的时候,如果是通过主键ID查询,那么直接会在聚簇索引查询,而如果是通过其他索引查询,就会先通过非聚簇索引查询拿
2023-08-17
MySQL 2023.08.17
什么是聚簇索引和非聚簇索引?
一、什么是聚簇索引和非聚簇索引?聚簇索引(Clustered Index):即主键索引,叶子节点存放了数据节点非聚簇索引(Non-clustered Index):即除了主键的其他索引(也叫做二级索引),叶子节点存放了索引节点 二、聚簇索引
2023-08-17
Redis 2023.08.16
Redis内存淘汰策略
一、定义Redis内存淘汰策略,指的是内存的使用率达到maxmemory上限时的一种内存释放行为 二、Redis有哪些内存淘汰算法?Redis内存淘汰算法主要有五种,分别为: LRU算法(Least Recently Used):移除最近
2023-08-16
Redis 2023.08.16
Redis过期策略
一、Redis过期策略有哪些?Redis有三种过期策略,分别为: 定时过期:指每个设置过期时间的key都会创建一个定时器,等到过期时间就会清除该key(可以节省内存,但会占用大量cpu资源,影响缓存的响应时间和吞吐量) 惰性过期:指每个设
2023-08-16
MySQL 2023.08.15
如何排查MySQL索引失效的问题?
一、索引失效分析MySQL索引失效是一个比较常见的问题,这种情况一般会在发生慢SQL时需要考虑是否存在索引失效的问题 一般MySQL索引失效的原因有: 索引列参与计算:如… where a + 1 = 2 对索引列进行函数操作:如… wh
2023-08-15
Spring 2023.08.13
介绍一下Spring的AOP
一、什么是AOP?AOP(Aspect-Oriented Programming),一般称为面向切面编程,用来将与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装成一个可重用的模块,这个模块就叫做切面AOP的优点: 减少系统中
2023-08-13
Java 2023.08.12
Java动态代理
一、什么是代理?代理是一种设计模式(代理模式),当我们要访问某个目标类的时候,不是直接访问目标类,而是通过访问代理类,然后代理类调用目标类来完成的,也就是直接调用变成间接调用 1、代理的好处 解耦 方便扩展:不修改目标类逻辑的前提下,起到增
2023-08-12
10 / 16