GaryLee's Blog
什么是回表,怎么减少回表的次数? 什么是回表,怎么减少回表的次数?
一、什么是回表?不了解什么是聚簇索引和非聚簇索引的小伙伴可以先看下《什么是聚簇索引和非聚簇索引?》 什么是回表呢?当我们要查询数据的时候,如果是通过主键ID查询,那么直接会在聚簇索引查询,而如果是通过其他索引查询,就会先通过非聚簇索引查询拿
2023-08-17
什么是聚簇索引和非聚簇索引? 什么是聚簇索引和非聚簇索引?
一、什么是聚簇索引和非聚簇索引?聚簇索引(Clustered Index):即主键索引,叶子节点存放了数据节点非聚簇索引(Non-clustered Index):即除了主键的其他索引(也叫做二级索引),叶子节点存放了索引节点 二、聚簇索引
2023-08-17
Redis内存淘汰策略 Redis内存淘汰策略
一、定义Redis内存淘汰策略,指的是内存的使用率达到maxmemory上限时的一种内存释放行为 二、Redis有哪些内存淘汰算法?Redis内存淘汰算法主要有五种,分别为: LRU算法(Least Recently Used):移除最近
2023-08-16
Redis过期策略 Redis过期策略
一、Redis过期策略有哪些?Redis有三种过期策略,分别为: 定时过期:指每个设置过期时间的key都会创建一个定时器,等到过期时间就会清除该key(可以节省内存,但会占用大量cpu资源,影响缓存的响应时间和吞吐量) 惰性过期:指每个设
2023-08-16
如何排查MySQL索引失效的问题? 如何排查MySQL索引失效的问题?
一、索引失效分析MySQL索引失效是一个比较常见的问题,这种情况一般会在发生慢SQL时需要考虑是否存在索引失效的问题 一般MySQL索引失效的原因有: 索引列参与计算:如… where a + 1 = 2 对索引列进行函数操作:如… wh
2023-08-15
介绍一下Spring的AOP 介绍一下Spring的AOP
一、什么是AOP?AOP(Aspect-Oriented Programming),一般称为面向切面编程,用来将与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装成一个可重用的模块,这个模块就叫做切面AOP的优点: 减少系统中
2023-08-13
Java动态代理 Java动态代理
一、什么是代理?代理是一种设计模式(代理模式),当我们要访问某个目标类的时候,不是直接访问目标类,而是通过访问代理类,然后代理类调用目标类来完成的,也就是直接调用变成间接调用 1、代理的好处 解耦 方便扩展:不修改目标类逻辑的前提下,起到增
2023-08-12
Redis集群 Redis集群
一、Redis集群有哪几种实现方式?Redis集群有三种实现方式: 主从复制 哨兵模式 Redis Cluster集群 1、主从复制优点: 读写分离:master节点负责读写,slave节点负责读 slave节点能够分担master节
2023-08-08
Java类加载机制 Java类加载机制
一、背景二、Java中有哪些类加载器?JDK有三个类加载器,分别为: 启动类加载器(BootStrapClassLoader):负责加载Java运行时环境核心类库(即%JAVA_HOME%/lib下的jar包和class类),是ExtCl
2023-08-04
Spring如何解决循环依赖的问题? Spring如何解决循环依赖的问题?
一、什么是循环依赖?循环依赖其实就是两个对象互相依赖,包括直接和间接,比如 直接:A依赖B,B依赖A 间接:A依赖B,B依赖C,C依赖A// A依赖B class A { public B b; } // B依赖A class B {
2023-08-01
如何实现一个点赞功能? 如何实现一个点赞功能?
一、介绍点赞一般出现在朋友圈、微博、动态等场景,基本操作有点赞、取消点赞、查询点赞数量、判断自己是否点过赞等 二、实现使用Redis的set结构简单实现,key存储帖子id,value存储点赞用户的uid点赞:sadd <key>
2023-07-31
如何优化大量if-else代码结构? 如何优化大量if-else代码结构?
一、提前return适用场景:if-else代码结构包含return语句优点:优化代码阅读体验,如果if处理逻辑复杂不用拉到底才知道else是return逻辑例子代码: 优化前: if(condition) { // do sth
2023-07-31
9 / 15