获得徽章 1
- #青训营笔记创作活动#
2023.1.16 打卡day33
以前就听过当MySQL单表达到2000W行数据时,最后就要分库分表了,但也不知道具体原因,自己做过的项目也没有达到过这个量级(希望以后有机会)。今天这篇文章就让我知道MySQL是如何存储表数据,以及为了索引更快,Innodb存储引擎采用B+树的逻辑结构来实现存储索引,而当数据超过2kw,B+树层级会变高,所需查询时间也就更长,毕竟在B+树中只有最底层叶子结点才会存储实际数据。展开评论点赞 - #青训营笔记创作活动#
2023.1.15 打卡day32
在MySQL数据库中有很多的命令,自己对于经常使用的增删改查,建表和索引等语句和常用函数较为熟悉,但其实还有很多其他类型的指令还不知道。今天这篇文章就罗列和分析了MySQL的指令,以后可以直接通过这篇文章来查询相关指令,进行查漏补缺。展开评论点赞 - #青训营笔记创作活动#
2023.1.14 打卡day31
在当下互联网公司的项目基本都是分布式的,单体项目越来越少了,在单体项目中为解决并发问题还可以使用本地锁,而在分布式项目中我们需要使用分布式锁。今天这篇文章让我学习到如何使用redis和lua来实现分布式锁。展开评论点赞 - #青训营笔记创作活动#
2023.1.13 打卡day30
在B/S项目中 ,采用浏览器来访问页面,目前大多为前后端分离项目就容易碰到显示跨域问题,无法获取数据。今天这篇文章让我学习到了产生跨域问题的3个原因,传输协议不同,域名不同或服务端口号不同。利用SpringBoot来解决跨越的方法也有5种,我个人一般都是采用增加配置文件来解决。展开评论点赞 - #青训营笔记创作活动#
2023.1.12 打卡day29
一个复杂的业务系统有着复杂的业务流程,这时需要根据业务,工作流程来协助开发。今天这篇文章让我学习到了BPMN的一些基础知识,以及如何去使用相应的工作流工具,如Flowable的安装和基本使用。展开评论点赞 - #青训营笔记创作活动#
2023.1.11 打卡day28
今天这篇文章让我学习到了利用注解,AOP和redis来实现用户对服务端接口的访问流量限制,防止有人对接口进行恶意访问爆破。使用注解和AOP在用户访问接口之前,获取到用户的ip和访问接口的名称,然后以此为key,访问次数为value存储到redis中,然后也可以在访问之前,从redis 中查看到当前ip访问此接口的次数,然后根据对此接口的一定时间最大访问数,确定是否需要限制用户的访问。展开评论点赞 - #青训营笔记创作活动#
2023.1.10 打卡day27
今天这篇让我学习到了一些关于分库分表的知识,之前我做的项目的数据量都没有达到需要进行分库分表,但是这方面的学习还是需要的。进行分库与分表都可以从垂直切分和水平切分的角度进行,垂直分库是根据业务来划分,垂直分表就是将表的不同列(属性)存储在不同的表中。分库分表也会产生一些相应的问题需要去处理。展开评论点赞 - #青训营笔记创作活动#
2023.1.9 打卡day26
今天这篇文章让我明白了当遇到读多写少的数据时,为了系统的性能,可以将数据放在缓存中。当使用了缓存就会有相应的一些问题,如缓存穿透,缓存击穿,缓存雪崩等缓存与数据库的一致性问题等。其中为解决一致性问题,比较好的有延时双删策略。展开评论点赞 - #青训营笔记创作活动#
2023.1.8 打卡day25
今天这篇文章让我学习到了许多关于缓存的知识,从为什么要使用缓存,到如何使用各种类别的缓存,以及各种类型缓存的使用场景,最后还有使用缓存必须要考虑的一致性问题。评论点赞 - #青训营笔记创作活动#
2023.1.7 打卡day24
今天这篇文章让我知道了设计一个秒杀系统应该要处理的问题,以及相应的解决方法。如使用Redis作为缓存系统,当然这样就要考虑缓存击穿和缓存穿透等问题了,还有使用Lua来实现原子操作Redis减少库存,还有经典的减少数据库中的库存操作,使用update products set stock=stock-1 where id =p and stock>0.展开评论点赞