面试
文章平均质量分 59
秃头阿毛
这个作者很懒,什么都没留下…
展开
-
阿里一面:分库分表
1.什么是分库分表 举个例子就是以前只有一个数据库A,里面存放了交易表和用户信息表 现在经过水平分库分表变成了: 数据库A1:里面有交易表1、用户信息表1等等 数据库A2:里面有交易表2、用户信息表2等等 2.为什么要分库分表 分库: 比如说以前一个数据库同一时间只能处理1000条连接请求,那么现在公司业务发展了,同一时间有1500条连接请求,那么这1500-500=500条请求就阻塞了,所以这时候我们就需要增加数据库来处理请求 分表: 比如说一张交易表现在数据量有十几个亿,那么在没有命中索引的情况下,sq原创 2022-04-18 15:22:22 · 1086 阅读 · 0 评论 -
阿里一面:如何解决双写一致性问题
项目中怎么解决双写不一致问题 1.场景:删除缓存,再更新数据库 A线程删除缓存 B线程查询缓存没查到,去数据库查询,然后写到缓存中 A更新数据库 以上就会造成数据不一致 解决方案是使用延迟双删 A线程删除缓存 B线程查询缓存没查到,去数据库查询,然后写到缓存中 A 线程sleep,再去删除缓存 --这个就是延迟双删原理 A线程更新数据库 sleep的时间要根据具体的业务来分析,至少要大于B线程先查再写的时间 2.场景:更新数据库,再删除缓存 B线程查询数据库 A线程更新数据库 A线程删除缓存 B线程将查的原创 2022-04-15 17:27:49 · 1119 阅读 · 0 评论