- 博客(11)
- 收藏
- 关注
原创 常见的其中查找算法
数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。
2024-07-29 20:21:28
231
原创 微服务之间feign的调用
(记得在subject启动类加@EnableFeignClients="com.jingdianjichi"才会读取feign相关的注解)auth-controller由于缺失实体类就需要去引入对auth-api层的依赖。2.把UserFeignService里面需要的entity,从auth-controller层抽出来。subejct-infra的pom文件引入对auth-api层的依赖 并在rpc包下建UserRpc。案例目的:拿到auth层的获取用户信息接口。依赖没有做统一的版本管理 后续会讲。
2024-07-28 18:35:12
317
原创 gateway网关拦截器(获取用户id信息放入header)
Mono是来自Reactor项目的一个响应式编程框架中的类型,特别地,它是Reactor核心类型Mono的一个实例,专门用来表示一个可能完成也可能出现错误的异步操作,但不会产生任何值。常用于非阻塞的异步编程模型中,例如在Spring WebFlux中处理HTTP请求。这一步是完成用户id信息放到Header。使微服务中可以查询到该信息了。
2024-07-28 14:28:42
246
原创 如果面试的时候谈线程池,必问的问题:线程池到底设置线程的数量为多少比较合适?
先设定预期,比如我期望的CPU利用率在多少,负载在多少,GC频率多少之类的指标后,再通过测试不断的调整到一个合理的线程数。如果对性能没什么要求,稳定好用符合需求就可以了。那么我线程数一般设置为CPU核心数就可以。好的,面试官,我认为设置数量多少合适是要根据团队的需求指标,然后根据测试不断得出来的。因为受干扰地因素很多,我们不能通过公式去计算出准确地,只能通过公式计算得到大致的范围。
2024-07-28 11:19:06
82
原创 redo log和undo log是什么?
2.保证数据持久性:当服务器宕机时,如果数据只保存在内存缓冲池中,是会消失的,而当写入到redo log日志时,重启服务器时会先去执行未完成的事务,保证数据的持久性。在介绍redo log之前先说就是数据库写入信息的时候,会在内存中建立一个缓冲池,每次写入都会先缓冲到缓冲池再写入数据库磁盘,这有利于减少磁盘的IO操作,提高性能。它记录这些修改的逆操作,当事务失败或进行撤销操作时候,就会进行撤销的操作。1.顺序性:缓冲池写入磁盘并不是顺序执行的,而是随机写入,redo log 由于是以。
2024-07-28 10:18:44
197
原创 MVCC是什么?能够解决什么问题?
MVCC(多版本并发控制)是一种用于管理数据库并发控制的方法,它通过提供了多个版本的来保证数据库在高并发事务情况下的性能,确保数据的一致性和隔离性。:MVCC 通常与快照隔离级别结合使用,确保事务在执行期间看到一致的快照。:每个数据行都有多个版本,每个版本与一个特定的事务相关联。就算在其他事务B执行过程修改了数据库信息,由于事务A一直读取的是版本A,所以能够保证事务的并发执行。多版本:它会复制数据库假设为版本A,在每次事务A开启之后,就会。:底层运用到了垃圾回收机制,将旧的版本进行回收,释放内存空间;
2024-07-28 09:44:38
138
原创 对sql优化的经验
在实际的开发过程,我们团队用到的是若依框架的监控慢sql的方式,去分析慢sql的原因,可能的原因有索引失效,这时候可以通过修改sql语句避免索引失效;从表的设计方面,主要是字段要选择合适的数据类型,比如 整型字段要判断它合适的大小,tinyint,int,bigint 要根据实际情况去选择。当要进行联表查询的时候,尽量使用 inner join而不使用左连接和右连接,内连接因为查询的顺序不固定,内部会自动选择以小表为驱动,减少每次循环时的数据库连接。避免写操作对数据库的影响。
2024-07-27 14:52:22
173
原创 什么情况下不应或少建索引?
复合索引是指在多个列上创建的索引。如果查询中未使用索引的前导列,索引可能不会被使用,从而无法发挥其优化作用。建议:在创建复合索引时,确保查询中会使用到索引的前导列,否则应重新考虑索引的设计。首先在解答这道八股题之前,你先问问自己,为什么要少建?以及什么情况下需要用到索引?然后就慢慢地想就一下就想出来了。索引缺点无非就是会增加系统负担,所以能少建就少建,所以就可以联想什么情况下需要用到索引?跟这个场景相反就可以了。为了建索引就是为了加快查询性能,如果表的数据量太小,也就不需要建立索引。
2024-07-27 09:50:42
118
原创 好好理解聚簇索引和非聚簇索引
这样的结构设计使得聚簇索引能够直接通过索引访问数据行,而非聚簇索引则通过两步查询实现对数据行的访问:首先通过辅助索引找到聚簇索引键,然后通过聚簇索引键再次查找到整个数据行。说实话 如果你的脑袋里面可以在解释聚簇索引和非聚簇索引的区别和联系的时候,能够出现两颗B+树 实际上就很好解释两者大的关系。总结起来,聚簇索引的叶子节点直接存储整个数据行,而非聚簇索引的叶子节点存储索引键值和聚簇索引键的指针。
2024-07-27 09:37:51
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人