
获得徽章 1
- #青训营笔记创作活动#
2月4日 day18
今日学习 设计数据库表结构是最重要的环节:对业务的理解程度,对可扩展性的考虑程度都直接影响到了我们会“如何设计数据库表结构”;数据库表结构设计是否合理,也直接影响了我们后续开发业务逻辑是否顺利。
展开评论点赞 - #青训营笔记创作活动#
2月3日 day17
今日学习 好的代码需要注意规范的命名,注释不需要详实但需要注明关键,抽取重复代码统一处理返回和异常等评论点赞 - #青训营笔记创作活动#
2月2日 day16
今日学习 高并发实现的注意事项,只注意后端部分的内容,读多写少应该使用redis而非mysql;同时为了防止缓存中不存在的数据大量访问导致缓存击穿,用分布式锁限制对数据库的访问; 为了防止不存在的数据导致缓存穿透,使用过滤器缓存不存在的数据请求;在库存问题上,数据库和redis进行扣减库存都存在隐患,使用lua脚本和redis一起能解决超卖和高并发的场景;同时,在消息队列和限流方面也很重要。展开评论点赞 - #青训营笔记创作活动#
2月1日 day15
今日学习 通过对称和非对称加密,引入HTTPS的加密原理,HTTPS同时使用了对称和非对称加密。TLS的四次握手,通过非对称加密,交换随机数,最后通过随机数实现对称加密。为什么不始终使用非对称加密的原因是对称加密相对来说快一些。展开评论点赞 - #青训营笔记创作活动#
1月30日 day14 今日学习 Redis 支持主从模式,支持读写分离与分布式,具有丰富的数据类型与丰富的特性(发布订阅模式),支持持久化操作,不会丢失数据评论点赞 - #青训营笔记创作活动#
1月28日 day13
今日学习 回顾了SQL调优,根据具体案例回顾不同类别的慢查询产生的原因,并且给出相应解决的方案。索引失效(隐式转换、最左匹配),回表过多(深分页问题),计算代价过大(in元素过多)评论点赞 - #青训营笔记创作活动#
1月27日 day12
今日学习 SQL语句源自用户请求,由业务层编码决定,传入MySQL服务层后,根据hash值查询缓存,没有缓存则交给解析器处理,交给优化器,并调用引擎,最终进行检索评论点赞 - #青训营笔记创作活动#
1月26日 day10
今日学习 这篇文章根据现实场景需求,演绎了计算机网络的构建逻辑。以提升数据传输效率为例,引入转发和标识思想,再推出MAC地址的概念,揭示了结点和链路的规律。评论点赞 - #青训营笔记创作活动#
1月25日 day10
今日学习 MySQL的整体架构自上往下为连接层、服务层、存储引擎层和文件系统层。数据库和客户端的连接需要线程维护,因此引入线程池,实现复用线程、管理线程以及限制最大连接数。大多数核心功能位于服务层,SQL接口、解析器、优化器、缓存缓冲。存储引擎是最重要的一层,聚集了核心逻辑操作,负责具体的数据操作以及执行工作,MySQL最为常用的则是InnoDB与MyISAM引擎。文件系统层是MySQL数据库的基础,包含了配置文件、库表结构文件、数据文件、索引文件、日志文件等各类MySQL运行时所需的文件,负责数据的最终存储与持久化工作。展开评论点赞 - #青训营笔记创作活动#
1月24日 day09
今日学习 HTTPS在HTTP的基础上引入TLS四次握手进行对通信内容的加密,导致无法过滤到指定host或者request body的数据包。在TLS中存在三个随机数对信息进行加密,其中pre_master_key在客户端需要通过SSLKEYLOGFILE去导出展开评论点赞